回答編集履歴

1 手抜きしないでちゃんと書いた。

katsuko

katsuko score 1067

2016/10/14 00:52  投稿

まず、コメントでも書きましたが、setup.pyではreadlineモジュールはインポートしないでください。
py2exeは、対象となっているスクリプトを動かすためのモジュールをかき集めてきます。
その時に、readlineモジュールを拾えなくてエラーになっているようです。
しかし、Windowsでreadlineモジュールは必要ないと思います。
必要であれば、「python window01.py」で動かした時にインポートエラーになるはずですし、おおよそPyQtの中で以下のようなコードがあって、それを拾ってきているのかもしれません。
```python
import sys
# Windows以外で、インポートする。
if sys.platform != 'win32':
 import readline
```
とりあえず、readlineは無視してしまいましょう。
setup.pyに以下のように記述すれば、無視してくれるそうです。
```python
from distutils.core import setup  
import py2exe  
 
py2exe_options = {
 'excludes': ['readline'],
}
setup(
 options = {'py2exe': py2exe_options },
 ... # 後は、同じように
 console=['window01.py']
 )
```
自分もpy2exeはあまり使っていないので試していませんが、とりあえずお試しください。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る