我正在使用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的文件夹,我的错。