Я только что закончил свою первую работу с python, и я хотел бы создать исполняемый файл для распространения. Однако у меня возникают проблемы с этим. Я уже пробовал py2exe, pyinstaller и cx_freeze без успеха. Поиск множества мнений, я считаю, что pyinstaller - лучшее решение для моей проблемы, но я могу заставить его работать. Импорт я делаю в моей программе ниже:Создание исполняемого файла Python
import os
import pygtk
import gtk
import MySQLdb
import getpass as gt
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pandas.io import sql
from scipy import stats, integrate
from scipy.optimize import curve_fit
import seaborn as sns
from sklearn.neighbors import KNeighborsClassifier
from sklearn.cross_validation import train_test_split
from sklearn import metrics
Чтения документации pyinstaller я заметил, что он только не работает с ЛИЭСОМ scikitlearn (sklearn) и Сиборном. Когда я использую «pyinstaller --onefile Principal.py» Я получаю сборки и Dist паст, но когда я пытаюсь запустить exe-файл, я получаю следующее сообщение:
C:\Users\Lucas\AppData\Local\Temp\_MEI82242\gtk\__init__.py:127: RuntimeWarning:
PyOS_InputHook is not available for interactive use of PyGTK
Traceback (most recent call last):
File "<string>", line 13, in <module>
File "c:\users\lucas\appdata\local\temp\pip-build-6fpfyh\pyinstaller\PyInstall
er\loader\pyimod03_importers.py", line 363, in load_module
File "c:\users\lucas\anaconda\lib\site-packages\pandas\__init__.py", line 13,
in <module>
"extensions first.".format(module))
ImportError: C extension: lib not built. If you want to import pandas from the s
ource directory, you may need to run 'python setup.py build_ext --inplace' to bu
ild the C extensions first.
Principal returned -1
Может кто-то помочь мне с тем, что я нужно сделать?
Может быть, вы могли бы посмотреть на использование Докера? Я не думаю, что «упаковка python для exe» - очень хорошо поддержанный или рекомендуемый рабочий процесс. – maxymoo
Вашему приложению необходимо перестроить пакет pandas для создания приложения. Импортирующий модуль (pandas) не распространяется. Для некоторых пакетов требуется компиляция. Установите готовые для использования библиотеки. Вы не можете использовать внутри .exe, если у вас нет исходного кода. Не ошибка, отсутствует пакет (источник)! – dsgdfg
Так что вы рекомендуете делать? Я пытаюсь создать исполняемый файл, чтобы позже создать установщик с помощью Inno (он запрашивает файл .exe). Если я использую exe, который создает pyinstaller для меня, и добавьте пути к pandas, а другие libs в Inno должны ли мои программы работать? –