2017-03-01 20 views
0

注意:在将其标记为重复之前,请先阅读整篇文章如何使用cxfreeze将我的代码从python3.6转换为exe文件?

我想花几个小时将我的python 3.6代码转换为exe,我到处搜索并尝试了一切,最有帮助的地方在那里: Best method of converting .py to .exe for Python 3.6?

因此很明显,只有3种方式转换PY的exe文件:

  1. PyInstaller
  2. Py2exe
  3. Cxfreeze

Pyinstaller不支持Python 3.6,而py2exe已经过时了。

至于cxfreeze,它听起来像它支持Python 3.6,所以这是我采取的路线。

我已经找遍了如何使用cxfreeze,不幸的是,我发现所有导游似乎已经过时:

http://cx-freeze.readthedocs.io/en/latest/overview.html本指南例如有三条路线,其中两个不工作(该首先给我一个.spec文件,我不知道如何处理它,第二个给我一个错误,因为我没有cxfreeze.util模块)和第三太复杂,我的口味

How do I use cx_freeze?这使用第二条路线,仍然不起作用

+0

Pyinstaller 3.6的支持正在迅速提高。您可以尝试使用[开发技巧](https://github.com/pyinstaller/pyinstaller/wiki/How-to-Report-Bugs#before-submitting-a-report)。 –

回答

0

我不允许对某些人发表评论原因,所以这不是一个真正的答案,但对我而言,我安装了cx_Freeze https://pypi.python.org/pypi/cx_Freeze

当您安装它时,还有一个额外的步骤没有记录。使用Windows CMD壳,去你的Python安装目录中,将脚本子目录中,你会发现所谓的cxfreeze几个文件...

您需要通过键入蟒蛇cxfreeze,安装后创建批处理文件

将创建一个名为cxfreeze.bat的文件,您可以将它移动到主python文件夹或Python程序所在的位置。

然后键入cxfreeze mypythonprogram.py --target-dir的DIST

应该创建dist目录工作exe文件。然而,它并不适用于我,因为我在finder.py文件中发现了一个错误,这是cxfreeze安装的一部分,所以我不知道我是否做了错误的事,或者这个版本完全是错误的。

编辑:通过评论finder.py文件中的第561行(我的系统上的C:\ Python \ Python36-32 \ Lib \ site-packages \ cx_Freeze \ finder.py)我能够运行它并生成看起来运行正常的EXE。

+1

不幸的是,我无法在另一台PC上运行EXE,即使通过复制整个dist文件夹。当我从第二台PC上的CMD运行它时,它会查找一些python文件。基本上你需要在开发PC上安装与Python完全相同的结构,否则它将无法工作。这是非常令人失望的...我不确定任何人应该如何开发Python程序在Windows上公开发布。 – pickarooney

+0

我尝试使用pyinstaller作为替代,但不支持python 3.6并崩溃。 – pickarooney

+0

开发版3.3运行没有错误,但没有创建一个EXE,而是一个.pyc文件,当然不能在未安装Python的PC上运行 – pickarooney