2016-10-27 3 views
0

У меня есть некоторые скомпилированные классы ProtoBuf, с которыми я пытаюсь использовать REPL. Тем не менее, попытка импортировать базовый класс сообщения терпит неудачу, когда он пытается тянуть в одном из подклассов:Python не может найти файл protobuf

phrogz:~$ ll lib/*.py 
-rw-r--r-- 1 phrogz phrogz 8570 Oct 7 15:08 lib/api_pb2.py 
-rw-r--r-- 1 phrogz phrogz 30433 Oct 7 15:08 lib/bar_pb2.py 
-rw-r--r-- 1 phrogz phrogz 22333 Oct 7 15:08 lib/foo_pb2.py 
-rw-r--r-- 1 phrogz phrogz 21681 Oct 7 15:08 lib/jam_pb2.py 
-rw-r--r-- 1 phrogz phrogz 6739 Oct 7 15:08 lib/jim_pb2.py 
-rw-r--r-- 1 phrogz phrogz  0 Jul 28 11:26 lib/__init__.py 

phrogz:~$ python3 
Python 3.4.3 (default, Oct 14 2015, 20:28:29) 
[GCC 4.8.4] on linux 
Type "help", "copyright", "credits" or "license" for more information. 

>>> from lib import api_pb2 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/home/phrogz/lib/api_pb2.py", line 16, in <module> 
    import bar_pb2 as bar__pb2 
ImportError: No module named 'bar_pb2' 

Что мне нужно изменить так, что каждый знает, чтобы посмотреть в каталоге lib?

ответ

0

Один из способов - установить переменную окружения PYTHONPATH, чтобы включить каталог lib до ввода REPL, например.

phrogz:~$ export PYTHONPATH=$PYTHONPATH:./lib 
phrogz:~$ python3