我以为我听说py2exe能够做到这一点,但我从未弄明白.有没有人成功完成这个?我可以看到你的setup.py文件,以及你使用的命令行选项吗?
基本上我正在考虑给它一个可执行文件,它可以像解压缩/ temp和运行一样.
我正在尝试将一个相当简单的Python程序转换为可执行文件,但找不到我想要的内容,所以我有几个问题(我正在运行Python3.6):
到目前为止我发现的这种方法如下
pyinstaller/py2exe 这是我尝试过的/我遇到的问题.
pyinstaller在它之前安装了所需的下载(pypi-something),所以它没有用.下载必备文件后,pyinstaller仍然无法识别它.我目前正在尝试使用py2exe创建可执行文件.我使用Python 3.6.我正在使用的脚本导入openpyxl和pptx,当我使用Pycharm或使用命令窗口运行脚本时运行正常.输出产生错误:
IndexError:元组索引超出范围
您可以在下面找到cmd输出:
C:\Python36>python setup.py py2exe
running py2exe
Traceback (most recent call last):
File "setup.py", line 4, in <module>
setup(console=['Storybookmaker.py'])
File "C:\Python36\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "C:\Python36\lib\distutils\dist.py", line 955, in run_commands
self.run_command(cmd)
File "C:\Python36\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "C:\Python36\lib\site-packages\py2exe\distutils_buildexe.py", line 188, in run
self._run()
File "C:\Python36\lib\site-packages\py2exe\distutils_buildexe.py", line 267, in _run
builder.analyze()
File "C:\Python36\lib\site-packages\py2exe\runtime.py", line 160, in analyze
self.mf.import_hook(modname)
File "C:\Python36\lib\site-packages\py2exe\mf3.py", line 120, in import_hook
module = self._gcd_import(name)
File "C:\Python36\lib\site-packages\py2exe\mf3.py", line 274, in _gcd_import
return self._find_and_load(name) …Run Code Online (Sandbox Code Playgroud) 我写了一个脚本,可以帮助Windows用户进行日常生活.我想简单地向她发送.exe而不是要求她安装python,dll或者必须处理任何其他文件.
我已经阅读了很多关于将Python脚本编译成可执行文件的stackoverflow条目.我有点困惑,因为有很多选择,但有些似乎过时了(自2008年以来没有更新),没有一个对我来说不够简单,因为我花了几个小时就没有问过这个问题.
我希望有更好的,最新的方式来做到这一点.
我调查了一下:
但要么我不能让他们工作或无法理解如何得到我需要的结果.我得到的最接近的是py2exe,但它仍然给了我MSVCR71.dll
我希望得到一步一步的答案,因为我也无法遵循这里的一些调整答案,这些答案需要事先了解如何使用py2exe或其他一些工具.
我正在使用Python 2.5,因为其中一个模块仅适用于该版本.
我有一个Python脚本,我想编译成Windows可执行文件.现在,py2exe从Windows工作正常,但我希望能够从Linux运行它.我做的是Windows我的开发机器上,但Linux是我的主要开发平台,我得到一种重新启动进入Windows刚刚创建的生病的.exe.我也不想购买第二个Windows许可证以在VirtualBox等虚拟机中运行.有任何想法吗?
PS:我知道py2exe没有完全编译python文件,就像使用Python解释器打包脚本一样.但无论哪种方式,结果都是您不需要安装Python来运行脚本.
我在XP上使用python 2.6.我刚刚安装了py2exe,我可以从hello.py成功创建一个简单的hello.exe.但是,当我尝试在我的真实程序中使用py2exe时,py2exe会产生一些信息消息,但无法在dist文件夹中生成任何内容.
我的setup.py看起来像这样:
from distutils.core import setup
import py2exe
setup(console=['ServerManager.py'])
Run Code Online (Sandbox Code Playgroud)
并且py2exe输出如下所示:
python setup.py py2exe
running py2exe
creating C:\DevSource\Scripts\ServerManager\build
creating C:\DevSource\Scripts\ServerManager\build\bdist.win32
...
...
creating C:\DevSource\Scripts\ServerManager\dist
*** searching for required modules ***
*** parsing results ***
creating python loader for extension 'wx._misc_' (C:\Python26\lib\site-packages\wx-2.8-msw-unicode\wx\_misc_.pyd -> wx._misc_.pyd)
creating python loader for extension 'lxml.etree' (C:\Python26\lib\site-packages\lxml\etree.pyd -> lxml.etree.pyd)
...
...
creating python loader for extension 'bz2' (C:\Python26\DLLs\bz2.pyd -> bz2.pyd)
*** finding dlls needed ***
Run Code Online (Sandbox Code Playgroud)
py2exe似乎找到了我的所有导入(虽然我有点惊讶看到win32提到,因为我没有明确导入它).此外,我的程序使用此命令非常愉快地启动:
python ServerManager.py
Run Code Online (Sandbox Code Playgroud)
显然我正在做一些根本错误的事情,但是在没有来自py2exe的任何错误消息的情况下我不知道是什么.
>>> python -c "import sys; print sys.version"
2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)]
>>> pip --version
pip 1.5.5 from C:\Python27\lib\site-packages (python 2.7)
>>> pip install py2exe
<mumble grumble..>
RuntimeError: This package requires Python 3.3 or later
Run Code Online (Sandbox Code Playgroud)
虽然官方py2exe下载页面说他们正是我需要的:

那么如何在pip上安装py2exe呢?
我正在寻找Python3.0版本的"py2exe".我尝试在py2exe的源代码上运行2to3,但代码仍然破碎.
有任何想法吗?
我正在尝试使用以下命令使用最新的py2exe版本0.9.2.2编译我的python 3.5文件:
py -3.5 -m py2exe.build_exe myscript.py
Run Code Online (Sandbox Code Playgroud)
但它报告了这个:
在... lib\site-packages\py2exe \文件夹中找不到"run-py3.5-win-amd64.exe"文件.
这是否意味着py2exe 0.9.2.2只兼容python 3.4?
py2exe ×10
python ×9
packaging ×2
python-3.x ×2
compilation ×1
exe ×1
linux ×1
pip ×1
pypi ×1
python-2.7 ×1
python-3.5 ×1
python-3.6 ×1
windows ×1
wxpython ×1