使用gaepytz时导入错误

0 投票
1 回答
603 浏览
提问于 2025-04-17 05:18

我在使用pytz这个库的时候,想在Google App Engine(GAE)上用它,结果发现了一个叫gaepytz的东西。但是在导入它的时候出现了错误,我觉得可能是因为我没有把原来的pytz和gaepytz放在我的应用目录里正确的位置。(假设我需要这样做!)

./appdir/pytz [ original pytz folder, including zoneinfo subdir]

./appdir/gaepytz 

在我的应用目录中的一个叫foo.py的文件里,我写了:

gaepytz.gae导入pytz

结果我遇到了一个错误,错误是因为gae.py在导入zipfile的时候出错,而zipfile又在导入_io模块时失败。

ImportError: No module named _io

我漏掉了什么呢?谢谢!

在进一步实验后,我发现即使不使用gaepytz,单单在一个hello world的应用里导入zipfile也会出现以下错误:

Traceback (most recent call last):
  File "/home/vatsanp/google_appengine/google/appengine/tools/dev_appserver.py", line 4144, in _HandleRequest
    self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
  File "/home/vatsanp/google_appengine/google/appengine/tools/dev_appserver.py", line 4049, in _Dispatch
    base_env_dict=env_dict)
  File "/home/vatsanp/google_appengine/google/appengine/tools/dev_appserver.py", line 616, in Dispatch
    base_env_dict=base_env_dict)
  File "/home/vatsanp/google_appengine/google/appengine/tools/dev_appserver.py", line 3120, in Dispatch
    self._module_dict)
  File "/home/vatsanp/google_appengine/google/appengine/tools/dev_appserver.py", line 3024, in ExecuteCGI
    reset_modules = exec_script(handler_path, cgi_path, hook)
  File "/home/vatsanp/google_appengine/google/appengine/tools/dev_appserver.py", line 2887, in ExecuteOrImportScript
    exec module_code in script_module.__dict__
  File "/home/vatsanp/google_appengine/helloworld/helloworld.py", line 8, in <module>
    import zipfile
  File "/home/vatsanp/google_appengine/google/appengine/tools/dev_appserver.py", line 1538, in Decorate
    return func(self, *args, **kwargs)
  File "/home/vatsanp/google_appengine/google/appengine/tools/dev_appserver.py", line 2503, in load_module
    return self.FindAndLoadModule(submodule, fullname, search_path)
  File "/home/vatsanp/google_appengine/google/appengine/tools/dev_appserver.py", line 1538, in Decorate
    return func(self, *args, **kwargs)
  File "/home/vatsanp/google_appengine/google/appengine/tools/dev_appserver.py", line 2375, in FindAndLoadModule
    description)
  File "/home/vatsanp/google_appengine/google/appengine/tools/dev_appserver.py", line 1538, in Decorate
    return func(self, *args, **kwargs)
  File "/home/vatsanp/google_appengine/google/appengine/tools/dev_appserver.py", line 2318, in LoadModuleRestricted
    description)
  File "/usr/lib/python2.7/zipfile.py", line 6, in <module>
    import io
  File "/home/vatsanp/google_appengine/google/appengine/tools/dev_appserver.py", line 1538, in Decorate
    return func(self, *args, **kwargs)
  File "/home/vatsanp/google_appengine/google/appengine/tools/dev_appserver.py", line 2503, in load_module
    return self.FindAndLoadModule(submodule, fullname, search_path)
  File "/home/vatsanp/google_appengine/google/appengine/tools/dev_appserver.py", line 1538, in Decorate
    return func(self, *args, **kwargs)
  File "/home/vatsanp/google_appengine/google/appengine/tools/dev_appserver.py", line 2375, in FindAndLoadModule
    description)
  File "/home/vatsanp/google_appengine/google/appengine/tools/dev_appserver.py", line 1538, in Decorate
    return func(self, *args, **kwargs)
  File "/home/vatsanp/google_appengine/google/appengine/tools/dev_appserver.py", line 2318, in LoadModuleRestricted
    description)
  File "/usr/lib/python2.7/io.py", line 60, in <module>
    import _io
ImportError: No module named _io

1 个回答

0

这个错误发生在你尝试用 Python 2.7 运行 dev_appserver 的时候,但现在这个版本是不支持的。你应该使用 Python 2.5。如果你是在用 Python 2.7 的环境下开发,记住 dev_appserver 还不支持这个版本,所以你需要先部署代码才能测试它。

撰写回答