Skip to main content
 首页 » 编程设计

python之程序中包含的 py2exe 和 msvcr90.dll 不起作用,请帮忙

2025年05月04日8lidabo

系统 XP 和 Win 7 python 2.6 和 2.7

我用 'bundle_files':1 创建了我的 .exe,所以我只有一个文件,没有 .dll,它在我的电脑上运行,然后转到一个新的 w/out python 或 vs distributables - 没有工作.收到“系统无法执行指定程序”的错误环顾四周,发现我需要可分发文件 - 安装和工作良好 - 但我想编译 w/budle_files:1 选项,所以我只有一个 .执行文件 使用 .dll 而不必在我的计算机和 friend 上安装可分发文件。 (我知道你不能捆绑这个 .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, 
    )  

谢谢

请您参考如下方法:

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

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

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

cmd > location of scripts 
 
pyinstaller.py --onefile <yourscript>