exe жалуется на ImportError: нет модуля с именем pytz

Я создал исполняемый файл Python с помощью py2exe. Когда я запускаю exe, я получаю следующую ошибку:

I:\YYY\dist>gui.exe   
Traceback (most recent call last):   
  File "gui.py", line 31, in <module>   
ImportError: No module named pytz  

Но в интерпретаторе python я могу без проблем импортировать pytz.

I:\YYY\dist>python  
Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32  
Type "help", "copyright", "credits" or "license" for more information.  
>>> import pytz   
>>>

Любая помощь в решении вышеуказанной проблемы очень ценится.


person user2471095    schedule 13.06.2013    source источник


Ответы (1)


Вызовите setup() со следующей опцией:

setup(..., options={
    'py2exe': {
        'packages': [
            'pytz',
        ],
    },
})
person falsetru    schedule 13.06.2013
comment
Большое спасибо. После мода на «setup.py», как было предложено, само создание exe не удается. Трассировка стека слишком длинная, чтобы добавить ее сюда. Вот несколько строк из трассировки стека: I:\XXX›python setup.py py2exe под управлением py2exe ... Файл setup.py, строка 6, в ‹module› 'packages':['pytz'] Файл e:\Install \Python27\lib\distutils\core.py, строка 152, в настройке dist.run_commands() ..... Файл e:\Install\Python27\lib\site-packages\py2exe\mf.py, строка 204, в find_head_package поднять ImportError, нет модуля с именем + qname ImportError: нет модуля с именем pytz - person user2471095; 13.06.2013
comment
У вас есть несколько версий Python? - person falsetru; 13.06.2013
comment
Из того, что я могу понять, у меня есть «python 2.7.5». Есть ли верный способ убедиться, что на моем хосте находится только версия Python? - person user2471095; 13.06.2013