У меня есть два отдельных проекта с общим именем пакета. Они работают нормально, пока они оба не находятся в PYTHONPATH, но как только они оба появляются, один из них не может найти импорт в своем собственном проекте.
Пример, два таких проекта:
Проект 1:
x/
__init__.py
test.py
foo.py
test.py содержит строку:
import x.foo
Проект 2:
x/
__init__.py
bar.py
Если я побегу
PYTHONPATH=. python x/y/test.py
ошибки нет. Но если я побегу
PYTHONPATH='pathtoproject2:.' python x/test.py
Я получаю сообщение об ошибке:
Traceback (most recent call last):
File "x/test.py", line 1, in <module>
import x.foo
ImportError: No module named foo
Есть ли способ, чтобы разные проекты Python с общим пакетом использовали PYTHONPATH? Или Python всегда будет использовать только первый путь, по которому найден пакет?
Примечание. Я знаю, что если вы измените импорт из x.foo на import foo, тогда он будет работать. Но я хочу знать, можно ли это сделать без изменения любого пакета.