从不同的文件夹导入SO文件



我正在使用ubuntu 20.04和python3。我想导入这样的文件"ext.so":

英波特

从另一个代码。但是 so 文件位于不同的文件夹中。正确的方法是什么?

正确的方法是什么?

您的项目结构应如下所示:

-head
--sub1
---Ext.so
--sub2
---caller.py

您应该以某种方式在 pythonpath 中head包含head的文件夹(通过使用 distUtils 安装 Python 模块,或者只是将head作为您的工作目录或通过修改.bashrc中的PYTHONPATH来添加,或将其附加到脚本中的sys.path),您应该使用

from head.sub1 import Ext

假设您的.so文件是 Python 扩展名而不是某种 DLL,任何安装您的项目的人都应该能够毫无问题地运行您的代码。

但是,绝对没有什么可以阻止您将sub1添加到 pythonpath 中并import Ext.

编辑:很抱歉,如果head在pythonpath中,你只需要从sub1导入,而不是head,所以你应该在你的pythonpath中包含head的文件夹,我的错。

最新更新