我用python3创建了一个virtualenv。在虚拟环境中,我的文件夹中有 2 个原始文件以及 nanopb 包。结构是
.
├── api.pb
├── api.proto
├── bin
├── compile.sh
├── include
├── lib
├── nanopb-0.4.2-linux-x86
└── types.proto
作为第一步,我使用命令将 types.proto 和 api.proto 编译成 api.pb
./nanopb-0.4.2-linux-x86/generator-bin/protoc -I=./nanopb-0.4.2-linux-x86/generator/proto -I=. api.proto -o api.pb
生成 pb 文件后,我执行以下命令,
python nanopb-0.4.2-linux-x86/generator/nanopb_generator.py /home/ankit/Desktop/api/venv-proto-3/api.pb
这给出了以下错误
(venv-proto-3) ankit@ankit-desktop:~/.../api/venv-proto-3$ python nanopb-0.4.2-linux-x86/generator/nanopb_generator.py /home/ankit/Desktop/api/venv-proto-3/api.pb
Writing to api.pb.h and api.pb.c
Traceback (most recent call last):
File "nanopb-0.4.2-linux-x86/generator/nanopb_generator.py", line 2122, in <module>
main_cli()
File "nanopb-0.4.2-linux-x86/generator/nanopb_generator.py", line 2034, in main_cli
os.makedirs(os.path.dirname(path), exist_ok=True)
File "/home/ankit/Desktop/api/venv-proto-3/lib/python3.5/os.py", line 241, in makedirs
mkdir(name, mode)
FileNotFoundError: [Errno 2] No such file or directory: ''
(venv-proto-3) ankit@ankit-desktop:~/.../api/venv-proto-3$
知道我在这里做错了什么。对protobuf来说很新。
谢谢