<类型 '异常.导入错误'>: 无法导入名称 service_handlers

2 投票
3 回答
1967 浏览
提问于 2025-04-16 19:40

我一个月前做了一个网页应用,然后进行了测试。上个月它一直运行得很好,没有做任何代码修改,但今天突然出现了一个持续的错误。

<type 'exceptions.ImportError'>: cannot import name service_handlers
Traceback (most recent call last):
  File "/base/data/home/apps/infinillaapp/1.351169771270370877/services.py", line 10, in <module>
    from protorpc import service_handlers

我尝试了不同的方法来导入这个模块,但都没有用。所以,我在想是不是GAE环境出了什么问题?在本地机器上它还是像以前一样正常工作。有没有人遇到过GAE的模块导入问题?

3 个回答

0

如果你需要使用自己私有的版本,可以通过设置你的pythonpath来实现。

3

Chris说得对,service_handlers这个文件已经移到webapp模块里了。你可以直接使用

from protorpc.webapp import service_handlers
3

这只是我的一个猜测;但我觉得 protorpc可能会在AppEngine 1.5.1中被包含,也许他们在某个地方偷偷加上了这个东西,导致了冲突。

你可以试着把protorpc的路径加到sys.path的最前面:

sys.path = ['protorpc'] + sys.path

另外,试着把protorpc更新到最新版本,看看在本地是否也会出现这个错误,因为很多与GAE相关的代码已经移动了。新的导入方式应该是:

from protorpc.webapp import service_handlers

撰写回答