这是目录结构:
app/
__init__.py
sub1/
__init__.py
mod1.py
sub2/
__init__.py
sub2.so
test_sub2.py
- 文件夹应用程序位于我的 PYTHONPATH
- 所有 __init__.py 文件都是空的。
- 共享库 sub2.so 是我使用 cmake 和 boost-python 编译的 C++ 扩展模块。
- test_sub2.py 是 sub2.so 中定义的类的测试脚本。
- 如果我从 sub2 目录运行 test_sub2.py,它会正确导入模块并且测试通过。
如何将 sub2.so 中的 A 类导入到 mod1.py 中?
最佳答案
导入它的方法是从任何源文件导入app.sub2.sub2
。您的测试实际上应该位于 app
之外,并使用该模块路径来访问扩展模块。
关于python - 如何将 C++ python 扩展导入到另一个目录中的模块中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2255543/