Я пытаюсь заморозить проект python в exe. Когда я открываю командную строку в каталоге «Уведомление» и запускаю cxfreeze notifier/main.py
, проект компилируется правильно. Я пытаюсь получить тот же результат из setup.py, чтобы при запуске python setup.py build_exe
exe с его зависимостями создается так же, как и раньше.Включить файлы python в подкаталог cxfreeze
Это структура каталогов:
Notifier/
|notifier/
|- __init__.py
|- main.py
|- sender.py
|- request.py
|setup.py
Когда я бегу python setup.py build_exe
, я заметил, что под Missing Modules:
имеет sender imported from main__main__
. И когда я запускаю main.exe от Notifier/build/exe.win32-2.7
, возникает следующая ошибка.
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in <module>
exec(code, m.__dict__)
File "notifier/main.py", line 1, in <module>
ImportError: No module named sender
Вот мой setup.py:
from cx_Freeze import setup, Executable
import requests.certs
options = {
'build_exe': {
'include_files': [(requests.certs.where(), 'cacert.pem')]
}
}
setup(
name='Notifier',
version='0.1',
license='MIT',
author='David Corbin',
#install_requires=['requests', 'websocket', 'cx_Freeze'],
options=options,
executables=[Executable("groupmenotifier/main.py")]
)
__init__.py
–Пожалуйста, измените свой ответ и внести коррективы. – JRodDynamite
@JasperXu Что должно быть в файле '__init __. Py'? Я создаю файл в 'notifier', но ничего не изменил. –