У меня есть повышающий питон, формирующий общий объект, который будет использоваться с питоном в /home/user/service/org/boost_py.so (Эта папка не содержит __init__.py)результатов питона упаковки по ошибке импорта
и/Главная/пользователь/услуга является частью sys.path поэтому, когда мне нужно использовать это, просто сделать
import org.boost_py #works
Теперь я добавил чистый модуль питона в другой каталог.
/home/user/service/pure_python/org/
__init__.py
tester.py
__init__.py содержит
__import__('pkg_resources').declare_namespace(__name__)
Теперь, когда sys.path является
['/home/user/service/','/home/user/service/pure_python']
и я
import org.boost_py #ImportError: No module named 'org.boost_py'
, но я могу импортировать org.tester. Как импортировать как org.tester, так и org.boost_py? (Я не могу изменить расположение либо)
обновление: Found файл степени р с следующим содержимым в каталоге pure_python
import sys, types, os;
p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('org',));
ie = os.path.exists(os.path.join(p,'__init__.py'));
m = not ie and sys.modules.setdefault('org', types.ModuleType('org'));
mp = (m or []) and m.__dict__.setdefault('__path__',[]);
(p not in mp) and mp.append(p)