如果从Python运行,我的程序运行正常。
我现在使用Pyinstaller将它打包到exe中。
pyinstaller --onefile path/to/my/file.py
我可以运行exe,如果在他们的系统上安装了Python,那么其他人也是如此。
如果Python 不安装,当exe通过终端运行时会出现此错误:
ImportError: No module named 'Pyside'
程序不使用此模块。 它使用的唯一库是:
os,sys,glob,selenium,PyQt4,警告
安装和导入Pyside不是一个选项(我试过这个)因为我使用的是Python 3.5。
为什么创建的exe在没有Python的系统上寻找PySide模块,而不是在安装了Python的系统上? 感谢
编辑1
问题出现在 PyQt4 ,因为下面的程序会崩溃,但是任何其他模块的程序都将在没有Python的系统上运行。
"""
Created on Mon Jan 9 09:23:13 2017
@author: me
"""
import PyQt4
print("This program simply tests if a packaged\npython program runs on your system!\n")
input("Press Enter to exit...")
编辑2
构建程序时终端输出的示例。
答案 0 :(得分:1)
解决这个问题的方法是将Python版本推回到3.4 版本。
一旦安装了所需的模块(PyQt4和PyInstaller(v3.2)),PyInstaller就会像以前一样使用而没有问题。
生成的exe能够在有和没有Python的情况下在两个系统上运行,没有错误。
PyInstaller对此问题的跟踪是here。
谢谢