Python 2.5和2.7能与wxPython、py2exe和comtypes共存吗(解决MSVCP90.dll问题)?

1 投票
3 回答
1082 浏览
提问于 2025-04-16 07:12

我在写一个使用wxPython和comtypes的代码。我在我的电脑上安装了Python 2.7(Windows系统),同时也安装了wxPython、comtypes和py2exe。在构建的时候遇到了一个错误:

错误:MSVCP90.dll:没有这样的文件或目录

于是我查了一下,发现有两个解决方案:

1. 把Microsoft.VC90.CRT.manifest和msvcp90.dll复制到你的电脑上,然后按照下面的方式准备你的设置:

from distutils.core import setup
import py2exe
from glob import glob
data_files=[("Microsoft.VC90.CRT", glob(r'c:\shared_dlls*.*'))]
setup(data_files=data_files, console=['main.pyw'])

2. 使用Python 2.5,配合wxPython、comtypes和py2exe

现在,我有以下问题:

关于第一种情况:
a. 我需要有Visual Studio的许可证才能使用这些文件吗?还是说可以随便用?
b. 如果我用上面的方法编译了,用户的电脑上还需要MSVC90.dll才能运行吗?我觉得不需要。如果我错了,请纠正我。我想去掉任何依赖,给用户一个可以直接运行的exe文件,不需要其他东西。

关于第二种情况:
我在电脑上已经安装了Python 2.7和上面提到的模块。我想知道能不能在同一台电脑上安装Python 2.5?它们能共存吗?如果可以,我还需要为这个再安装一份wxPython、comtypes和py2exe吗?

请告诉我最好的解决方案。我该怎么做?这让我有点卡住了。
谢谢!

3 个回答

0
  1. 你有没有试着安装一下 Visual C++ 运行库?我觉得你不需要有 Visual Studio 的许可证就可以安装这个。
1

我简单地从这里下载了 MSVCP90.dll 文件:http://www.dllme.com/dll/files/msvcp90_dll.html,然后把它粘贴到 Python27\DLLs 文件夹里。这样就能用了。

2

Python 2.5和2.7(还有其他所有版本的Python)可以很好地共存。你可能需要调整一下你的路径,以便使用正确的Python版本。

你需要安装Python 2.5版本的wxPython和py2exe。此外,还需要为Python 2.5安装comtypes。这个安装程序会通过检查注册表来识别你电脑上安装的Python版本。

撰写回答