我正在使用Python 3,但是我认为这也只适用于Python 2。
我有一个包含一些普通Python模块文件的项目,以及一些必须从源代码构建的共享对象库。
项目回购如下:
python/
example/
foo.py
src/
bar.c
build/ # compiled, not checked in
python/
example/
bar.so
一些普通的Python模块本身很有用,所以我设置PYTHONPATH=python
然后我可以import example.foo
。有时我想要import example.bar
,在这种情况下我会构建bar.so
。
但是现在我遇到了问题,因为PYTHONPATH=python:build/python
不起作用,因为一旦Python找到python/example
,它就不会看build/python/example
。
我希望能够告诉Python这个模块在两个目录中有组件,如果一个导入失败,它应该在另一个目录中查找。这可能吗,或者你有其他建议吗?我试图避免像这样创建一堆符号链接:
build/python/example/foo.py -> ../../../python/foo.py