Python 如何修复appengine导入错误:没有名为protobuf的模块?

Python 如何修复appengine导入错误:没有名为protobuf的模块?,python,google-app-engine,protocol-buffers,python-import,Python,Google App Engine,Protocol Buffers,Python Import,我有以下文件夹结构: myappdir - libs - somelib script1.py script2.py - google - protobuf __init__.py message.py ... __init__.py ... app.yaml appengine_config.py ... 及以下文件的内容— ap

我有以下文件夹结构:

myappdir
  - libs
    - somelib
      script1.py
      script2.py
    - google
      - protobuf
          __init__.py
          message.py
          ...
      __init__.py
      ...
    app.yaml
    appengine_config.py
    ...
及以下文件的内容—

appengine\u config.py

import sys
sys.path.append('libs')
from somelib.script2 import Something
from google.protobuf import message
script1.py

import sys
sys.path.append('libs')
from somelib.script2 import Something
from google.protobuf import message
script2.py

import sys
sys.path.append('libs')
from somelib.script2 import Something
from google.protobuf import message
结果我得到:

  File "myappdir/libs/somelib/script1.py", line 34, in <module>
    from somelib.script2 import Something
  File "myappdir/libs/somelib/script2.py", line 38, in <module>
    from google.protobuf import message
ImportError: No module named protobuf
文件“myappdir/libs/somelib/script1.py”,第34行,在
从somelib.script2导入一些内容
文件“myappdir/libs/somelib/script2.py”,第38行,在
从google.protobuf导入消息
ImportError:没有名为protobuf的模块

我的设置有什么问题?

更改appengine\u config.py文件中的行,从:

import sys
sys.path.append('libs')
致:


更改appengine_config.py文件中的行,从:

import sys
sys.path.append('libs')
致:


我发现@Daniel的答案已经在我的设置中实现了,但仍然存在问题。评论对我有帮助。将以下内容添加到appengine_config.py
解决了我的问题:

from google.appengine.ext import vendor
vendor.add('lib')
import google.protobuf; print(google.protobuf.__version__)

根据项目目录命名,将
lib
更改为
libs

我发现@Daniel的答案已经在我的设置中实现了,但仍然存在问题。评论对我有帮助。将以下内容添加到appengine_config.py解决了我的问题:

from google.appengine.ext import vendor
vendor.add('lib')
import google.protobuf; print(google.protobuf.__version__)

根据项目目录命名,将
lib
更改为
libs

我注意到您没有在
protobuf
文件夹中显示
\uuuu init\uuuu.py
。@user2357112,它在那里-修复了问题。谢谢。可能相关:我注意到您没有在
protobuf
文件夹中显示
\uu init\uuuuuuuuuuuuuuuuuuuuuuuuupy
。@user2357112,它在那里-修复了问题。谢谢。可能相关: