Я новый пользователь cx_Freeze, и я хотел упаковать свой файл python со всеми необходимыми зависимостями.
Я использую Python3 .
Я работаю под питономvirtualenv с зависимостями, такими как tensorflow, sklearn, matplotlib, python-vlc...
Вот все файлы, необходимые для воспроизведения той же ошибки в Windows.
My needs.txt для установки
absl-py==0.7.0
altgraph==0.16.1
astor==0.7.1
audioread==2.1.6
certifi==2018.11.29
chardet==3.0.4
cx-Freeze==5.1.1
cycler==0.10.0
decorator==4.3.2
distlib==0.2.8
future==0.17.1
gast==0.2.2
grpcio==1.18.0
h5py==2.9.0
idna==2.8
Jinja2==2.10
joblib==0.13.1
Keras-Applications==1.0.7
Keras-Preprocessing==1.0.9
kiwisolver==1.0.1
librosa==0.6.2
llvmlite==0.27.0
macholib==1.11
Markdown==3.0.1
MarkupSafe==1.1.0
matplotlib==3.0.2
numba==0.42.0
numpy==1.16.1
pefile==2018.8.8
protobuf==3.6.1
py2exe==0.9.2.2
PyInstaller==3.4
pynsist==2.3
pyparsing==2.3.1
pypiwin32==223
pysrt==1.1.1
python-dateutil==2.8.0
python-vlc==3.0.4106
pywin32==224
pywin32-ctypes==0.2.0
requests==2.21.0
requests-download==0.1.2
resampy==0.2.1
scikit-learn==0.20.2
scipy==1.2.0
six==1.12.0
sklearn==0.0
tensorboard==1.12.2
tensorflow==1.12.0
termcolor==1.1.0
tornado==5.1.1
urllib3==1.24.1
watson-developer-cloud==2.8.0
websocket-client==0.48.0
Werkzeug==0.14.1
yarg==0.1.9
У меня есть один основной файл Python IHM.py
, который импортирует модули из двух других файлов Python sync.py
и neurnet.py
.
Файл ihm.py
# -*- coding: utf-8 -*-
# for Python3
from tkinter import *
import matplotlib.backends.backend_tkagg
import matplotlib.pyplot as mp
import tkinter.filedialog
from watson_developer_cloud import LanguageTranslatorV3
import json
import subprocess
import os
import vlc
from sync import *
import warnings
warnings.filterwarnings("ignore")
# Définition des variables globales
vid_file_path = ""
vid_srt_path = ""
vid_srt_path_trans = ""
vid_srt_path_sync = ""
# Création de la fenetre d'IHM
fenetre = Tk()
fenetre.title("Test Tkinter Windows")
fenetre.mainloop()
Файл sync.py
# -*- coding: utf-8 -*-
from __future__ import division
from neuralNet import
Файл neurnet.py
#coding: utf-8
import os
import time
import sys
import librosa
import re
import io
import subprocess
import pysrt
import numpy as np
import matplotlib.pyplot as plt
from time import time
import tensorflow as tf
import pickle
#from sklearn.model_selection import train_test_split
#from tensorflow.contrib.layers import flatten
import sklearn
from subprocess import STDOUT
try:
from subprocess import DEVNULL # py3k
except ImportError:
import os
DEVNULL = open(os.devnull, 'wb')
И вот, cx_Freeze setup.py :
# setup.py
import sys, os
from cx_Freeze import setup, Executable
os.environ['TCL_LIBRARY'] = 'C:/Program Files/Python36/tcl/tcl8.6'
os.environ['TK_LIBRARY'] = 'C:/Program Files/Python36/tcl/tk8.6'
__version__ = "1.1.0"
buildOptions = dict(
packages = [],
excludes = [], includes = ["idna.idnadata"],
include_files = ['C:/Program Files/Python36/DLLs/tcl86t.dll','C:/Program Files/Python36/DLLs/tk86t.dll'] )
import sys
base = 'Win32GUI' if sys.platform=='win32' else None
executables = [
Executable('ihm.py', base=base)
]
setup(
name = "mgp320",
description='Projet Neural Network Speech Detection',
version=__version__,
options = dict(build_exe = buildOptions),
executables = executables
)
Запуск этой настройки с помощью команды: python setup.py build
Так что это создает мне exeфайл, но когда я запускаю этот исполняемый файл, я получаю это окно ошибки:
Ошибка cx_Freeze
И трекбек следующий:
Traceback (most recent call last):
File
"C:\Users\achraf.bentabib\Desktop\aapsa\aapsa\env\lib\site-p
ackages\cx_Freeze\initscript\__startup__.py", line 14, in run
module.run()
File
"C:\Users\achraf.bentabib\Desktop\aapsa\aapsa\env\lib\site-p
ackages\cx_Freeze\initscript\Console.py", line 26, in run
exec(code, m.__dict__)
File "ihm.py", line 5, in <module>
File
"C:\Users\achraf.bentabib\Desktop\aapsa\aapsa\env\lib\site-p
ackages\matplotlib\__init__.py", line 120, in <module>
import distutils.version
File
"C:\Users\achraf.bentabib\Desktop\aapsa\aapsa\env\lib\distut
ils\__init__.py", line 35, in <module>
loader.exec_module(real_distutils)
File "<frozen importlib._bootstrap_external>", line 674, in
exec_module
File "<frozen importlib._bootstrap_external>", line 780, in
get_code
File "<frozen importlib._bootstrap_external>", line 832, in
get_data
FileNotFoundError: [Errno 2] No such file or directory:
"C:\\Users\\achraf.bentabib\\Desktop\\aapsa\\aapsa\\stack\\b
uild\\exe.win-amd64-3.6\\lib\\library.zip\\distutils\\__init__.py'
Iдействительно не знаю, как я могу это исправить ..