首页 > 解决方案 > Python 没有在当前目录中查找导入,这会导致生成的 protobuf 文件出现问题

问题描述

在我的项目中,无论我在哪里,或者我试图从中导入的文件在哪里,我都必须指定路径,这很好。

例如:import protos.example as example,即使我已经在 protos 目录中。因此,当生成的文件生成时,他们自然会说import example_pb2 as example__pb2,但是由于它迫使我放置完整路径的方式,这种自然的生成方式不起作用,因为它必须是import protos.generated.example_pb2.

如何在需要指定位置之前将其更改为自动搜索当前目录的位置?

标签: pythonprotocol-buffers

解决方案


找到了修复。我正在使用 Pycharm ,不确定它在其他 IDE 中是如何工作的。右键单击包含生成文件的文件夹并将其标记为源。这解决了生成的文件无法互相看到的问题。然后在您引用生成的文件的任何文件中,放入

import sys
sys.path.append(r'generated')

然后您的导入应该按预期工作


推荐阅读