我目前正在尝试使用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,因为其中一个模块仅适用于该版本.
我使用PyQt4在Python 3.1中构建了一个相当简单的应用程序.完成后,我希望将应用程序分发到计算机而不安装任何一个.
我几乎完全关心Windows平台,所以我的目标是拥有一个可执行文件,最后可能还有一些资源文件和.dll.
经过四处搜寻,我得出结论
Y:\Users\lulz\build\exe.win32-3.1>system_shutdown.exe
Traceback (most recent call last):
File "Y:\Program Files (x86)\Python\lib\site-packages\cx_Freeze\initscripts\Console3.py", line 27, in exec(code, m.__dict__)
File "Y:/Users/lulz/Documents/Coding/Python3/projects/System Shutdown/system_shutdown.pyw", line 5, in from PyQt4 import QtCore
File "ExtensionLoader_PyQt4_QtCore.py", line 16, in AttributeError: 'NoneType' object has no attribute 'modules'
Run Code Online (Sandbox Code Playgroud)
所以我的问题基本上是两个问题:
如有必要,我可以提供有关第二个问题的更多信息,例如我调用cx_Freeze,我的distutils安装脚本等.
谢谢你的帮助和评论.
经过一番挫折之后,我做到了!我将我的django应用程序转换为"exe"应用程序在Windows上作为单个独立应用程序运行(使用cherrypy作为WSGI服务器)但是当我尝试设置py2exe的选项时"bundle_files" to "1"(即在生成的exe中包含python解释器Python25.dll) )生成的exe崩溃与一个关于kernel32.dll的消息
但是当我使用时"bundle_file" = "2",生成的exe就像魅力一样运行,但当然必须将Python25.dll作为一个单独的文件放在它旁边.
任何人都有类似的行为,你能告诉我我错过了什么吗?
谢谢!:)
有没有人知道如何使用没有黑色控制台的py2exe运行exe?并将所有pyd文件等捆绑到一个exe文件中?
可能重复:
py2exe - 生成单个可执行文件
我使用"pyinstaller"从application.py创建了一个application.exe.在此过程中生成了很多.dll文件.如何使用单个.exe文件创建应用程序
有没有办法将python脚本编译成二进制文件?我有一个文件python脚本,它使用了很多模块.我想要的是在其他机器(freebsd)上复制它,但不在每个主机上安装所有需要的模块.
在这种情况下有哪些可能的解决方案
我正在使用Py2exe在Windows 7 Pro(64位)上使用Python 2.6(32位)编译CherryPy(3.1)服务器.
此服务器将在没有GUI的情况下运行.
问题:
如果在没有GUI的情况下运行,我是否需要关注为此应用程序添加清单文件?
我需要在我的exe中包含w9xpopen.exe吗?
到目前为止,我的有限测试表明我不需要在我的可执行文件中包含清单文件或w9xpopen.exe以使其正常工作.
评论赞赏.
谢谢你,马尔科姆
我正在开发一个我需要跨平台的应用程序.我想使用Python,我正在寻找GUI工具包,使界面编程简单易行.经过一次轻微的追捕,我发现了PythonCard.这看起来很完美,但我不确定是否可以将其编译为适合每个操作系统的可执行文件.我找到了这些说明,但他们已经6岁了.
无论我选择什么解决方案都必须支持以下内容
在我不得不涉足Java的荒凉世界之前,任何人都可以推荐一个库/解决方案吗?
我制作了一个GUI python脚本,我想与同事分享,以提高工作效率.我需要一种方法将所有内容都包含在一个文件/目录中供他们使用.我试过这个标准
python setup.py build
Run Code Online (Sandbox Code Playgroud)
但它并不包含所有东西(在他们的电脑上进行测试,我只是快速命令提示弹出然后关闭.)
它在我的机器上工作正常,但我安装了其他东西(比如python)
我的setup.py如下:
import sys
from cx_Freeze import setup, Executable
executables = [
Executable("Blah.py")
]
buildOptions = dict(
compressed = True,
includes = ["Blah"],
path = sys.path + ["modules"])
setup(
name = "Blah",
version = "0.1",
description = "Blah",
options = dict(build_exe = buildOptions),
executables = executables)
Run Code Online (Sandbox Code Playgroud)
我花了几个小时搜索已经没有运气了.我觉得有一种方法可以包含所有需要的文件,我只是不确定如何.任何帮助,将不胜感激.谢谢.
python ×9
py2exe ×6
pyinstaller ×2
pyqt4 ×2
python-3.x ×2
binary ×1
cherrypy ×1
compilation ×1
cx-freeze ×1
distribution ×1
django ×1
dll ×1
exe ×1
freebsd ×1
packaging ×1
windows ×1