我用一些导入在python中创建了一个小程序:
splinter, Tkinter, webbrwoser, urllib, and re
该程序有一个GUI(通过tkinter),当我通过命令行运行它时,一切正常。
但是,当我尝试使用这些说明创建可执行文件时,一切似乎都正常,但是当我实际运行.exe文件时,出现以下错误:
C:Python27dist>pypy.exe
Traceback (most recent call last):
File "pypy.py", line 1, in <module>
ImportError: No module named splinter
这是我用来获取.exe文件的代码:
from distutils.core import setup
import py2exe
setup(console=['pypy.py'])
所以我猜测(在这篇 SO 帖子中做了一些阅读之后)问题与我的 dist 文件夹中丢失的文件有关,但对于我的生活,我不确定从这里开始。
请帮助我使我的GUI python程序工作。
提前感谢,
乔娜
我找到了这篇文章,其中讨论了从py2exe构建中手动排除模块:py2exe "include" 模块:何时应手动管理它们?
他们提到tk会自动包含在内,我怀疑re和webbrowser/urllib作为标准包也会被包括在内,但其他可能需要添加到"包含"部分。我怀疑您在设置中需要类似以下内容的内容:
setup(
console=['pypy.py'],
options={
"py2exe":{
"includes": ["splinter"]
}
}
)
希望这有所帮助;我对py2exe没有做太多事情,所以如果没有,也许其他人可以提供帮助!
好的!经过相当多的挖掘(这里,这里和这里),我把它全部工作了!
步骤:
- 在
- 运行 setup.py 之前,将整个拆分文件夹复制到
Python27Libsite-packages
- 在设置后(创建 dist 文件夹后),将"webdriver.xpi"和"webdriver_prefs.json"从
C:Python27Libsite-packagesseleniumwebdriverfirefox
复制到distseleniumwebdriverfirefox
- 奖励:对于没有控制台打开.exe(如果您使用的是 GUI,则很好),在 setup.py 文件中使用
windows
而不是console
setup(console=['pypy.py'])
就是这样!现在该程序可以运行并与GUI和分裂库一起工作,没有障碍!