我正在使用pyinstaller 3.2(通过pip install pyinstaller获得)运行WinPython 3.4.4.3.
现在我有一些非常简单的Qt4代码,我想转换为EXE,我遇到了无法解决的问题.
代码:
import sys
import math
from PyQt4 import QtGui, QtCore
import SMui
import numpy as np
from scipy.interpolate import InterpolatedUnivariateSpline
class SomeCalculation(QtGui.QMainWindow, SMui.Ui_MainWindow):
def __init__(self):
super(self.__class__, self).__init__()
self.setupUi(self)
self.setWindowTitle('Some Calculation')
self.calculate.clicked.connect(self.some_math)
def some_math(self):
a_diameter=self.a_diameter.value()
b_diameter=self.b_diameter.value()
complement=self.complement.value()
angle=self.angle.value()
preload=self.preload.value()
### ONLY MATH HAPPENS HERE also defining X and Y ####
interpolator = InterpolatedUnivariateSpline(X, Y)
### MORE MATH HAPPENS HERE ####
self.axial.setText(str(axial))
self.radial.setText(str(radial))
def main():
app = QtGui.QApplication(sys.argv)
window=SomeCalculation()
window.show()
app.exec_()
if __name__=='__main__':
main()
Run Code Online (Sandbox Code Playgroud)
我试着跑pyinstaller …
现在是否有一个简单的协议来从 python 3.5+ 构建 .exe,使用模块 pyqtgraph、qt5、theano、pymc3、numpy、scipy、os 和 sys,并打开一个存储在“.ui”文件中的简单 GUI?我浪费了几个小时,最终没能做出一个(w7-64 位)。帮助 !
py2exe 的初步失败:我首先为 python 3 安装了 py2exe,但事实证明这与我的 python 3.6 不兼容,所以我降级到 python 3.5……得到了一堆错误。然后我去了论坛并尝试了建议的治疗方法但失败了(我对 Windows 感到不安),另一种选择是降级到 python 3.4……所以我降级到 python 3.4 以得到一个关于缺少“msvcr100.dll”的错误,我尝试在论坛上安装以下说明,但默认情况下我没有修改系统目录的权限......当我最终获得此权限时,结果证明“regsvr32”命令失败(这不是 32 位的吗?但是没有'regsvr64'...)。以下情节描述如下。
2017 年 8 月 23 日下午 1 点更新:
我也按照建议尝试了 pyinstaller 但它失败了(请参阅我的相关问题从 python 3 脚本中为 Windows 构建 .exe 使用 pyinstaller 导入 theano)
我也尝试过 cx_freeze 但它失败了(请参阅我的相关问题从 python 3 脚本为 Windows 构建 .exe)
我也试过 pynsist 但它失败了(与上面的链接相同)
下一步是什么 ?
9 月 2 日下午 2 点更新:
经过多集之后,我最终设法使用 pyinstaller 构建了一个 .exe。 …
我在 PyQt5 中编写了一个 GUI,其中包括
from sklearn.ensemble import RandomForestClassifier.
按照此答案中的建议,在 中\Anaconda3\Lib\site-packages\PyInstaller\hooks,我添加了一个名为的文件hook-pandas.py,其中包含以下内容:
hiddenimports = ['pandas._libs.tslibs.timedeltas',
'sklearn.neighbors.typedefs']
之后,我尝试pyinstaller -F visual_vitals.py --hidden-import sklearn.neighbors.typedefs
在 Anaconda Prompt 中运行
。
但是,我收到错误
RecursionError: maximum recursion depth exceeded。
另一方面,如果我只运行`pyinstaller visual_vitals.py'
然后 .exe 正确构建,当我尝试运行它时,我收到消息
modulenotfounderror: no module named 'sklearn.neighbors.quad_tree'。
我该怎么办?
请注意,如果我使用支持向量分类器而不是随机森林,问题就会消失,因此问题特定于该分类器而不是整个sklearn.
pyinstaller ×3
python ×3
cx-freeze ×1
exe ×1
hook ×1
py2exe ×1
pynsist ×1
recursion ×1
scikit-learn ×1
scipy ×1