python - 使用 py2exe 时遇到问题

标签 python executable py2exe

所以我正在尝试制作一个 exe 文件。我使用的是 python 2.7,据我所知,我安装了正确版本的 py2exe。我编写了一个简单的 setup.py 代码来创建 exe 文件。

但是,当我运行它时,出现错误:

错误:MSVCP90.dll:没有那个文件或目录

现在,我尝试通过两种方式解决这个问题:

  1. 我安装了 MSVCP90.dll 文件并将其与 python27 dll 放在一起,然后运行安装程序。这成功创建了一个可执行文件。但是,当我尝试运行可执行文件时,它说:

程序无法启动,因为您的计算机缺少 MSVCR90.dll。尝试重新安装程序以解决此问题。

我已经下载了这个 dll 并将其放入 python27 和 exe 中以查看会发生什么,但都没有用。

  1. 我排除了安装文件中使用的 MSVCP90.dll 文件。同样,这成功创建了一个可执行文件,但我在单击它时遇到了同样的错误。

我已经重新安装了 python 和 py2exe 无数次,但没有帮助。

有没有人知道我可以做些什么来让这个可执行文件正常工作?

最佳答案

正如您在评论中提到的,您正在使用 wxpython。我对 wxpython 和 py2exe 有同样的问题。我通过将 MSVCP90.dll 的 list 添加到 exe 文件来解决它。尝试将这些行添加到 setup.py 并查看它是否有效。

manifest = """<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity
    version="5.0.0.0"
    processorArchitecture="x86"
    name="%(prog)s"
    type="win32"
  />
  <description>%(prog)s</description>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
            level="asInvoker"
            uiAccess="false">
        </requestedExecutionLevel>
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
            type="win32"
            name="Microsoft.VC90.CRT"
            version="9.0.21022.8"
            processorArchitecture="x86"
            publicKeyToken="1fc8b3b9a1e18e3b">
      </assemblyIdentity>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="X86"
            publicKeyToken="6595b64144ccf1df"
            language="*"
        />
    </dependentAssembly>
  </dependency>
</assembly>"""

...

windows = [{"script":"myscript.pyw",'other_resources': [(24,1,manifest)]}] 

关于python - 使用 py2exe 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9057094/

相关文章:

python - 使用py2exe时出现名称错误

python-escpos 直接打印文本

python - 我一直收到 "NoneType object is not iterable"我不知道为什么。我已经检查了我的程序一千次。有谁知道如何解决这一问题?

python - 将 url 添加到 Serializers.Serializer 上的 API 响应

c++ - 如何在 Linux 中将 .cpp 文件编译成 Windows 可执行 (.exe) 文件

.net - 控制台应用程序不会在构建时生成可执行文件

python - 使用 py2exe (QtCore) 构建 PyQt 脚本时出现问题

python-3.x - 为Python 3和PyQt构建可执行文件

python - NumPy 有像 Pandas 一样的 select_dtypes 吗?

windows - Windows下文件执行的逐步说明