使用 Python 的 distutils.core,编译器链接在 Python 2.7 而不是 Python 3 中



我有一个包,它带有swig包装C for Python,我正试图升级到Python 3。我是在Linux(CentOS((在Docker环境中提供(下构建它的。

我的问题是,编译和链接选项假设我使用的是Python 2.7。也就是说,编译包括

-I/usr/include/python2.7

并且该链路包括

-lpython2.7

我通过包含一个编译选项来找到Python3的include目录:来完成编译

CC="gcc -I/usr/include/python3.6m" python setup.py build_ext

但由于找不到python2.7库,链接失败:

/usr/bin/ld:找不到-lython2.7collect2:错误:ld返回1退出状态

如何告诉distutils我现在是Python 3商店"python";已经给出";蟒蛇3";。

正如Jens所指出的,虽然我以为我用Python 3调用setup.py,但实际上我使用的是Python 2。将其修复到Python3解决了我的问题。

最新更新