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.
网上有various resources关于为使用MinGW讨论的distutils配置编译器,虽然我还没有这个工作。作为替代方案,我有VS2005。
任何人都可以断然告诉我是否可以使用VS2005中的C编译器为VS2003编译的Python(在本例中为ActiveState Python 2.5)构建Python扩展模块。如果可以,需要什么配置?
答案 0 :(得分:3)
主要问题是C运行时库。 Python 2.4 / 2.5链接到msvcr71.dll,因此所有C扩展都应链接到这个dll。
另一个选择是使用gcc(mingw)而不是VS2005,你可以用它来编译python扩展。有一个不错的安装程序,允许您将gcc配置为Python版本的默认编译器:
答案 1 :(得分:2)
我不能断然告诉你,但我不相信你能。我只是在相反的情况下遇到这个问题(用VS2005构建的Python,试图用VS2003构建)。搜索网络并没有任何方式来破解它。我最终的解决方案是获得VC Express,因为VC2005是微软开始发布免费版本的时候。但这显然不适合你。
我不使用ActiveState Python,但是你可以使用更新的版本吗?源代码附带VS2008的项目文件,我很确定python.org二进制版本在不久前使用VS2003停止了。
答案 2 :(得分:0)
截至今天的2012年3月,我可以明确地说可以使用Python2.4.4(我测试过的只有一个)和Visual Studio 2005和2008.只需安装VS10来检查。我不知道为什么它有效,我在使用distutils时遇到问题所以我必须手动编译。