2016-03-15 2 views
0

У меня есть повышающий питон, формирующий общий объект, который будет использоваться с питоном в /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) 

ответ

0

Видимо нет никакого файла или каталога boost_py в «pure_python/орг», это вызывает ошибку.

Если есть, то пожалуйста отредактируйте вопрос!

В качестве альтернативы, путь повышения может быть не в браузере путей, то он просто не распознает файл.

Смежные вопросы