我有一个Python应用程序,其中包含一些子包中的非Python数据文件.我一直在使用include_package_data我的选项在setup.py制作发行版时自动包含所有这些文件.它运作良好.
现在我开始使用py2exe.我希望它能看到我拥有include_package_data=True并包含所有文件.但事实并非如此.它只放入我的Python文件library.zip,所以我的应用程序不起作用.
如何让py2exe包含我的数据文件?
我有一个Python应用程序,我决定执行.exe来执行它.
这是我用来执行.exe的代码:
# -*- coding: cp1252 -*-
from distutils.core import setup
import py2exe, sys, os
sys.argv.append('py2exe')
setup(
options = {'py2exe': {'bundle_files': 1}},
windows = [{'script': "SoundLog.py"}],
zipfile = None,
packages=[r"C:\Users\Public\SoundLog\Code\Código Python\SoundLog\Auxiliar", r"C:\Users\Public\SoundLog\Code\Código Python\SoundLog\Plugins"],
)
Run Code Online (Sandbox Code Playgroud)
但是当我使用.exe运行我的应用程序时,图形是完全不同的.
在下面的图像中,您可以看到运行思想python的应用程序在左侧,并且运行时认为右侧是.exe.

如何使.exe与运行思想python的那个一样好?
原帖如下:http: //mail.python.org/pipermail/python-win32/2010-December/011011.html
我在用:
- 操作系统:64位Windows 7专业版
- Python:python-2.7.1.amd64
- Python win32扩展:pywin32-214.win-amd64-py2.7
- Py2exe:py2exe-0.6.9.win64-py2.7.amd64
我正在尝试为Windows构建图标叠加层.它在32位Windows上运行良好,但在64位Windows 7上运行不正常.
以下是我为测试创建的Python模块:
test_icon_overlay.py:(http://mail.python.org/pipermail/python-win32/attachments/20101229/bb8c78a4/attachment-0002.obj的Python为图标叠加创建)COM服务器这增加了复选标记图标覆盖(C:\icons\test.ico)在"C:\ icons"文件夹中
setup_VI.py:(http://mail.python.org/pipermail/python-win32/attachments/20101229/bb8c78a4/attachment-0003.obj其分配创建test_icon_overlay.dll)安装文件.
C:\icons当我python
test_icon_overlay.py在Windows命令提示符下执行并重新启动时,文件夹上会出现图标覆盖explorer.exe.但它不能使用创建的dll文件setup_VI.py
我已经创建了dll文件python setup_VI.py py2exe,然后尝试使用它来注册它regsvr32 test_icon_overlay.dll.注册失败,出现Windows错误消息Error 0x80040201 while registering shell extension.
然后我打开记录器Python27/Lib/site-packages/py2exe/boot_com_servers.py,在这里是我得到的回溯comerror.txt上regsvr32
test_icon_overlay.dll
PATH is ['C:\\root\\avalon\\module\\sync\\python\\src\\dist\\library.zip']
Traceback (most recent call last):
File "boot_com_servers.py", line 37, in <module>
pywintypes.error: (126, 'GetModuleFileName', 'The specified module could not
be found.')
Traceback …Run Code Online (Sandbox Code Playgroud) 当我的 python 脚本运行时,如何从桌面上删除这个黑色的命令提示符屏幕?
我使用 python 2 exe 将 service.py 脚本制作成 exe。一切正常,但当 .exe 运行时,我有一个固定的命令提示符,我不想显示它。

服务.py:
#!/usr/bin/env python
import os
import ctypes
from subprocess import Popen, PIPE
def Mbox(title, text, style):
ctypes.windll.user32.MessageBoxA(0, text, title, style)
python_check = os.path.exists("C:/Python27/python.exe")
g_check = os.path.exists("C:/dev_appserver.py")
if python_check & g_check:
p0 = Popen(['C:/Python27/python.exe', 'C:/dev_appserver.py', '--host', '0.0.0.0', '--port', '8080', 'C:/application'], stdout=PIPE, stdin=PIPE, stderr=PIPE, shell=True)
out, err = p0.communicate("n\n")
else:
Mbox('Notice', 'Launching service failed please make sure C:\Python27\python.exe and C:/dev_appserver.py', 0)
Run Code Online (Sandbox Code Playgroud)
设置.py:
from distutils.core import setup
import py2exe
setup(console=['service.py'])
Run Code Online (Sandbox Code Playgroud) 我使用 Ubuntu、Python 3.4 并尝试使用py2exe将我的 py 脚本编译为 exe 。
不幸的是,当我尝试使用命令“build_exe”时,它会产生错误!有人可以帮我解决它或建议如何以另一种方式将py项目编译为exe吗?
错误代码:
NameError: name 'WinDLL' is not define.
有没有办法在 Linux 系统上部署包含所有依赖项的 python 程序?我已经使用 py2exe 将包含所有模块的 python 脚本“编译”为独立的 .exe,但这显然只适用于 Windows。有没有一种简单的方法,例如用 python 开发一个烧瓶服务器,并将它的所有脚本和模块捆绑在一起,以便它可以在 Linux 上执行,而无需使用 pip 安装依赖项?(假设Linux平台上安装了python3,但没有特定的python模块)。
谢谢!
我正在寻找将编译为exe的简单脚本,并且在我决定使用它之前我发现了py2exe,您认为py2exe工具的优缺点是什么?
我想弄清楚Python中的哪些文件(Python 2.6/Python 2.7)tcl文件夹是必需的,以便使用Py2exe或类似程序分发冻结的Python Tkinter应用程序.
快速而肮脏的方式(使用pyexe作为示例)是按照下一页上的第二个示例,然后将您的python的tcl文件夹xcopy到您的dist文件夹(作为tcl子文件夹). http://www.py2exe.org/index.cgi/TixSetup
xcopy tcl技术的问题在于它复制了100个可能不需要分发的额外文件.
例如,我的实验表明在冻结Python 2.7 Tkinter应用程序时可能不需要以下tcl文件夹:
注意:数字大小是每个路径中所有文件的总和.
我是在正确的道路上还是不包括上面的tcl内容会让我在路上撞到我?
更好的是,有没有关于Python的tcl文件夹中的文件的文档?
谢谢你,马尔科姆
我正在尝试为朋友制作一个小程序,它需要运行一个.wav文件,当我在python中运行它时工作正常但是当我在py2exe中编译它时它给了我这个 - >
phone.exe:23: RuntimeWarning: use mixer: DLL load failed: The specified module could not be found.
(ImportError: DLL load failed: The specified module could not be found.)
Traceback (most recent call last):
File "phone.py", line 23, in <module>
File "pygame\__init__.pyc", line 70, in __getattr__
NotImplementedError: mixer module not available
Run Code Online (Sandbox Code Playgroud) 我使用py2exe 0.9.2.2将我的所有python脚本打包成Windows二进制文件.我正在尝试将代码符号应用于二进制文件.使用signtool直接产生破坏的二进制文件.
是否可以签署使用py2exe生成的二进制文件?怎么样?
python code-signing py2exe code-signing-certificate codesign
py2exe ×10
python ×10
64-bit ×1
code-signing ×1
codesign ×1
distutils ×1
freeze ×1
graphics ×1
linux ×1
packaging ×1
pygame ×1
python-2.7 ×1
python-3.x ×1
pywin32 ×1
setuptools ×1
tcl ×1
tkinter ×1
windows ×1
wxpython ×1