首页 > 解决方案 > Python C 扩展模块中的“PYVERNODOTS”是什么意思?

问题描述

当我想在 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意思?如何解决导入问题?

编辑:

我使用 Anaconda 的 Python 3.7.4 在 Ubuntu 上对此进行了测试。完整的设置脚本位于https://github.com/biotite-dev/biotite/blob/master/setup.py

标签: pythonpython-c-api

解决方案


这似乎是 Python 3.7.4 的一个问题。在 Python 3.7.3 下运行编译解决了这个问题。


推荐阅读