【发布时间】:2016-11-26 03:17:20
【问题描述】:
所以,很长一段时间以来,我一直在尝试制作 Standalone EXE。现在我安装了 python 32 位,我尝试了py2exe,使用它的bundle_files 选项为我的项目comic-dl 制作一个exe。
由于comic-dl 有点像youtube-dl(甚至是该死的名字),所以在我无法让自己的setup.p 文件正常工作后,我复制了youtube-dls' setup.py file,然后将其修改为让它适用于我的项目。
Here is my modification。然后我运行这些命令:
python setup.py install
python setup.py py2exe
一切顺利,我得到了一个comic-dl.exe (~6 MB)。但是,当我执行它时,我得到了这个错误:
Traceback (most recent call last):
File "comic-dl.py", line 4, in <module>
File "zipextimporter.pyo", line 82, in load_module
File "honcho.pyo", line 12, in <module>
File "zipextimporter.pyo", line 82, in load_module
File "sites\mangafox.pyo", line 13, in <module>
File "zipextimporter.pyo", line 82, in load_module
File "selenium\webdriver\__init__.pyo", line 18, in <module>
File "zipextimporter.pyo", line 82, in load_module
File "selenium\webdriver\firefox\webdriver.pyo", line 39, in <module>
File "zipextimporter.pyo", line 82, in load_module
File "selenium\webdriver\remote\webdriver.pyo", line 25, in <module>
File "zipextimporter.pyo", line 82, in load_module
File "selenium\webdriver\remote\webelement.pyo", line 40, in <module>
File "pkgutil.pyo", line 591, in get_data
IOError: [Errno 2] No such file or directory: 'selenium\\webdriver\\remote\\getAttribute.js'
我检查了 selenium 文件夹中的 getAttribute.js 文件,该文件就在那里。我什至在项目本身中复制了 selenium 的文件夹,仍然没有变化。
然后我尝试了this,但这没有任何意义,因为并非所有内容都捆绑在选项 3 中,当我更改选项并执行设置命令时,选项 2 对我来说似乎相同。
在这种情况下如何获取独立的 exe?
【问题讨论】:
-
不要使用复杂的 py2exe,而是使用名为 nuitka 的简单 1 站式商店。它可以通过一个命令为您构建 exe 和 Linux 可执行文件。此外,它可以捆绑它而无需任何人弄清楚它实际上是 python。 (不需要音效)
-
我试过没有运气。有什么我可以使用的吗?
-
Cx_freeze 是一个很好的项目。只是如果你想让它可移植,你必须打包一个目录。快速搜索可以为您提供大量有关如何使用它的教程
-
我需要 1 个 exe。 cx_freeze 是我已经在使用的。 py2exe 将为我提供整个项目中的独立便携式 1 exe。这就是我正在看的。
-
说实话,最后一个选择是使用 Cython。将你的python代码转换成C,然后编译成exe