我使用Pyinstaller成功创建了.exe文件。我使用的是Anaconda3,PyQt5,OpenCV3和Python 3.6的Windows 7机器。 Anaconda3在Windows环境路径中。因为Python 3.6没有Pyinstaller的版本,所以我在Anaconda3中创建了一个Python 3.5.3环境(带有OpenCV)。我在Python 3.6中编写了该软件,然后激活了Python3.5.3以运行Pyinstaller。可执行文件完美无缺。 dist文件夹大约370MB。
然后我使用干净安装将机器升级到Windows 10。我安装了Anaconda3(Anaconda3被添加到Windows环境路径中)和OpenCV(PyQt5已经在Anaconda3中可用),创建了Python3.5.3环境,将PyInstaller和OpenCV安装到Python 3.5.3环境中。使用Spyder和Python 3.6,脚本运行完美。当激活Python 3.5.3并从命令行运行python myscript.py
时,脚本运行完美。但是,Pyinstaller仅安装大约220MB,并且生成的可执行文件不会执行。
我没有成功的Windows 7版本中的旧dist文件夹,以查看在Windows 10中未添加到dist文件夹的文件。
有谁知道如何确定Pyinstaller buid所需的其他文件?
答案 0 :(得分:0)
我切换到了cx_Freeze。它起初也没有用,但后来我添加了可选包PyQt5
,cv2
和numpy
。 cx_Freeze崩溃了并且给了我一个关于PyQt5
的错误,所以我从可选包中取出PyQt5
并再次运行python setup.py build
并且它有效。所以我删除了cv2
,它仍然有效。然后我删除了numpy
,但失败了。所以我添加了numpy
。这是setup.py
from cx_Freeze import setup, Executable
exe=Executable(
script="VSWv08.py", base = "Win32GUI")
includefiles=["VSWManual.txt", "VSWLicense.txt"]
includes=[]
excludes=[]
packages=["numpy"]
setup(
version = "1.0",
description = "MyApplication",
author = "Me",
name = "My Application",
options = {'build_exe':
{'excludes':excludes,'packages':packages,'include_files':includefiles}},
executables = [exe]
)