Python找不到protobuf文件

时间:2016-10-27 21:35:05

标签: python-3.x protocol-buffers

我有一些已编译的ProtoBuf类,我正在尝试使用REPL。但是,尝试导入基类消息类时,尝试引入其中一个子类时会失败:

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目录?

1 个答案:

答案 0 :(得分:0)

一种方法是在输入REPL之前将PYTHONPATH环境变量设置为包含lib目录,例如

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