两种不同版本Python之间的通信

0 投票
1 回答
1303 浏览
提问于 2025-04-17 17:58

我正在使用Python 3.2来构建我的Windows应用程序,除了应用程序的可执行文件(exe),还需要创建一个DLL文件。

我在网上查了一下,发现py2exe可以从Python脚本创建DLL,但它只支持到Python 2.7或3.1,不支持Python 3.2。

所以我使用了Python 2.7的py2exe来创建DLL,并且使用了pywin32。在测试我的应用程序脚本时,我用的是Python 3.2,它也使用了pywin32,并且向创建的DLL(用的是Python 2.7)发送了一些参数,这个DLL也使用了pywin32(Python 2.7版本)。

结果出现了一个执行错误,错误信息如下:
"pythoncom错误:PythonCOM服务器 - 无法加载 'win32com.server.policy' 模块。
追踪信息(最近的调用在最前面):
文件 "C:\Python27\lib\site-packages\win32com__init__.py",第5行,
导入win32api, sys, os
导入错误:使用python32.dll的模块与此版本的Python冲突。
pythoncom错误:CPyFactory::CreateInstance无法创建实例。(80004005)"

我的问题是:

  1. 我们能否使用Python 3.2从脚本创建DLL?
  2. 如何在使用相同模块(比如"pywin32")的不同版本的Python之间进行通信?
  3. 虚拟环境怎么样?在这种情况下有用吗?如果有用,我们该如何使用它?

1 个回答

0

Pyro4 可以用来让不同的Python程序之间进行交流,即使它们在不同的计算机上也没问题。

撰写回答