我正在使用 ubuntu 20.04 和 python3。我想像这样导入so文件“ext.so”:
进口分机
从另一个代码。但是so文件在不同的文件夹中。正确的方法是什么?
最佳答案
What is the right way to do it?
你的项目应该是这样的结构:
-head
--sub1
---Ext.so
--sub2
---caller.py
你应该有 head
包含 head
的文件夹在你的pythonpath中(通过使用distutils安装python模块,或者只是将head
作为你的工作目录,或者通过修改PYTHONPATH
中的.bashrc
添加,或者将它附加到你的脚本中的sys.path
),你应该利用from head.sub1 import Ext
授予您的.so
文件是 python 扩展而不是某种 dll,任何安装您的项目的人都应该能够毫无问题地运行您的代码。但是,绝对没有什么能阻止您添加
sub1
到你的 pythonpath 和只是 import Ext
.编辑:对不起,如果
head
在pythonpath中,你只需要从sub1导入,而不是head,所以你的pythonpath中应该有包含head的文件夹,我的错。
关于python-3.x - 从不同的文件夹导入so文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70908676/