3

RDFLib需要编译 C 扩展才能安装在 ActiveState Python 2.5 上;据我所知,网络上没有明显的二进制安装程序。在尝试使用 安装时python setup.py install,它会产生以下消息:

error: Python was built with Visual Studio 2003;
extensions must be built with a compiler than can generate compatible binaries.
Visual Studio 2003 was not found on this system. If you have Cygwin installed,
you can try compiling with MingW32, by passing "-c mingw32" to setup.py.

网上有各种关于为讨论使用 MinGW 的 distutils 配置编译器的 资源,尽管我还没有让它工作。作为替代方案,我有 VS2005。

谁能明确地告诉我您是否可以使用 VS2005 中的 C 编译器为 VS2003 编译的 Python(在本例中为 ActiveState Python 2.5)构建 Python 扩展模块。如果可以,需要什么配置?

4

3 回答 3

3

主要问题是 C 运行时库。Python 2.4/2.5 链接到 msvcr71.dll,因此所有 C 扩展都应该链接到这个 dll。

另一种选择是使用 gcc (mingw) 而不是 VS2005,您只能使用它来编译 python 扩展。有一个不错的安装程序,允许您将 gcc 配置为 Python 版本的默认编译器:

http://www.develer.com/oss/GccWinBinaries

于 2009-03-29T13:03:25.763 回答
2

我不能明确地告诉你,但我不相信你可以。我只是在相反的情况下遇到了这个问题(用 VS2005 构建的 Python,试图用 VS2003 构建)。搜索网络并没有找到任何破解它的方法。我最终的解决方案是获得 VC Express,因为 VC2005 是微软开始发布免费版本的时候。但这显然不是你的选择。

我不使用 ActiveState Python,但是您可以使用更新的版本吗?源代码附带了 VS2008 的项目文件,我很确定 python.org 二进制构建不久前停止使用 VS2003。

于 2009-03-03T15:35:15.800 回答
0

截至 2012 年 3 月的今天,我可以断然地说 Python2.4.4(我只测试过一个)和 Visual Studio 2005 和 2008 是可能的。只需安装 VS10 即可检查。我不知道它为什么会起作用,而且我在使用 distutils 时遇到了问题,所以我必须手动编译。

于 2012-03-23T17:25:15.407 回答