当我想在Linux上编译Python C扩展模块时,已编译模块的文件名例如为<name-of-module>.cpython-@PYVERNODOTS@m-x86_64-linux-gnu.so
。但是,只有在我为Python 3.7编译时,这才发生。在Python 3.6中,文件名是<name-of-module>.cpython-36m-x86_64-linux-gnu.so
。
问题是,Python 3.7无法导入文件名中带有PYVERNODOTS
的模块,所以这是我的问题:
PYVERNODOTS
是什么意思?如何解决导入问题?
编辑:
我在Ubuntu上使用Anaconda的Python 3.7.4对其进行了测试。完整的设置脚本位于https://github.com/biotite-dev/biotite/blob/master/setup.py。
答案 0 :(得分:1)
这似乎是Python 3.7.4的问题。在Python 3.7.3下运行编译可解决此问题。