为什么创建python可执行文件后找不到'splinter'模块?

时间:2016-01-24 21:01:01

标签: python user-interface tkinter exe splinter

我使用一些导入在python中创建了一个小程序:

splinter,Tkinter,webbrwoser,urllib和re

该程序有一个GUI(通过tkinter),当我通过命令行运行时,一切正常。

然而,当我尝试使用these instructions创建可执行文件时,所有似乎都能正常工作,但是当我实际运行.exe文件时,我得到以下错误:

C:\Python27\dist>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'])

所以我猜(在this SO帖子中做了一些阅读后)这个问题与我的dist文件夹中丢失的文件有关,但对于我的生活,我不知道该去哪里从这里开始。

请帮我制作GUI python程序。

提前致谢,

Jona的

2 个答案:

答案 0 :(得分:0)

我发现这篇文章讨论了py2exe构建中的手动-excluding-模块: py2exe "include" modules: when should they be managed manually?

他们提到tk是自动包含在内的,我怀疑re和webbrowser / urllib也是标准包,但是其他可能需要添加到&#39; include&#39;部分。我怀疑您在设置中需要以下内容:

setup(
        console=['pypy.py'],
        options={
                "py2exe":{
                        "includes": ["splinter"]
                }
        }
)

希望这会有所帮助;我没有用py2exe做太多,所以如果没有,也许别人可以帮忙!

答案 1 :(得分:0)

OK!经过相当多的挖掘(hereherehere)后,我完成了所有工作!

步骤:

  1. 在运行setup.py
  2. 之前,将整个拆分文件夹复制到Python27\Lib\site-packages
  3. 将“webdriver.xpi”和“webdriver_prefs.json” C:\Python27\Lib\site-packages\selenium\webdriver\firefox 复制到 dist\selenium\webdriver\firefox 之后设置(创建dist文件夹后)
  4. 奖励:如果.exe在没有控制台的情况下打开(如果您使用的是GUI,则很好),在setup.py文件中使用windows而不是console中的setup(console=['pypy.py'])
  5. 就是这样!现在该程序运行并与GUI和分裂库一起工作没有问题!