cx_Freeze преобразованный exe: окно немедленно закрывается

Я пытаюсь просто преобразовать свой pygame python py в файл .exe, используя cx_Freeze. Установочный файл выполняется правильно и без ошибок, но проблема в том, что когда я запускаю свой .exe-файл, окно консоли (черное окно, похожее на cmd) быстро открывается и закрывается. Мой .py, который я хочу преобразовать, называется Salary.py, и он включает в себя коды .input('str'), чтобы пользователь мог решить, какой CSV-файл он хочет использовать. Описание моего Salary.py: если пользователь вводит целое число, Salary.py помогает ему проанализировать один существующий CSV-файл, запустить скрипт и вывести его в другой CSV-файл. Китайский язык включен в код. Еще раз, когда я запускаю Salary.py в python3.6, нет ошибки при запуске, и на данный момент нет ошибки при создании exe-файла.

Я использую setup.py:

from cx_Freeze import setup, Executable
import os

os.environ['TCL_LIBRARY'] = r'D:\Anaconda3\tcl\tcl8.6'
os.environ['TK_LIBRARY'] = r'D:\Anaconda3\tcl\tcl8.6'
setup(name='Salary',
      version='0.1',
      description='Salarycount',
      executables= [Executable("Salary.py")])

Я пытаюсь выполнить Salary.exe в cmd. И это дало мне это:

Traceback (most recent call last):
  File "D:\Anaconda3\lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 14, in run
    module.run()
  File "D:\Anaconda3\lib\site-packages\cx_Freeze\initscripts\Console.py", line 26, in run
    exec(code, m.__dict__)
  File "Salary.py", line 8, in <module>
  File "D:\Anaconda3\lib\site-packages\pandas\__init__.py", line 19, in <module>
"Missing required dependencies {0}".format(missing_dependencies))
ImportError: Missing required dependencies ['numpy']

Очевидно, numpy уже установлен в мои пакеты Python, я даже не знаю, что это значит. моя среда: Anaconda 3 python 3.6 cx-Freeze 6.0b1


person Weifeng Zhang    schedule 18.08.2018    source источник


Ответы (1)


Похоже, ваш скрипт Salary.py использует пакет pandas, это правильно? Для работы пакета pandas требуется пакет numpy, и нужно явно указать cx_Freeze, чтобы он включал пакет numpy. Попробуйте добавить следующие options к setup:

from cx_Freeze import setup, Executable
import os

os.environ['TCL_LIBRARY'] = r'D:\Anaconda3\tcl\tcl8.6'
os.environ['TK_LIBRARY'] = r'D:\Anaconda3\tcl\tcl8.6'
setup(name='Salary',
      version='0.1',
      description='Salarycount',
      options={'build_exe': {'packages': ['numpy']}},
      executables= [Executable("Salary.py")])
person jpeg    schedule 20.08.2018