2

System XP 和 Win 7 python 2.6 和 2.7

我用 'bundle_files':1 创建了我的 .exe,所以我只有一个文件,没有 .dll,它在我的计算机上运行,​​然后转到一个没有 python 或 vs 可分发文件的新文件 - 没有用。收到“系统无法执行指定的程序”的错误是否有人环顾四周并发现我需要可分发的 - 安装和工作良好 - 但我想用 budle_files:1 选项编译,所以我只有一个 . exe 文件与 .dll 并且不必在我的计算机和朋友上具有可分发的内容。(我知道你不能捆绑这个 .dll)

我使用了 py2exe 指南中提供的示例,但 .dll 文件和 .manifest 文件不在它显示的位置,所以我只是将它们复制到另一个更简单的位置。它编译并包含“Microsoft.VC90.CRT”子文件夹,但是当我删除 python 和可分发文件时我仍然收到错误消息。这是我的脚本。

from distutils.core import setup
from glob import glob
import os
import sys
import platform
import py2exe


data_files = [("Microsoft.VC90.CRT", glob(r'C:\Documents and Settings\User\Desktop\Temp\dlls\*.*'))]
setup(console=['Script.py'],
    data_files=data_files,
    options = {'py2exe':{'bundle_files':1}},
    zipfile= None,
    ) 

谢谢

4

1 回答 1

1

从来没有得到答案,只是放弃了一个py2exe。

找到 pyinstaller。这比我用 py2exe 做得更好。而不是拥有我的一个 .exe 文件和额外的 .dll 目录。它能够只制作一个 .exe 文件,并且能够在没有 python 或可再发行组件的系统上运行。

将您的脚本作为 pyinstaller.py 脚本放在目录中。

cmd > location of scripts

pyinstaller.py --onefile <yourscript>
于 2012-10-30T17:40:35.973 回答