App Engine开发服务器:错误的运行时进程端口['']没有名为google.appengine.dist27.threading的模块

时间:2014-01-10 19:10:54

标签: python google-app-engine

当我尝试通过python GoogleAppEngineLauncher运行我的任何app引擎项目时 我得到错误日志如下:

有没有人知道发生了什么? 我尝试删除SDK并重新安装它。什么都没发生。仍然有同样的错误。

一切正常,我认为在此之前我没有做任何改变。 我能想到的唯一一件事就是在此之前我安装了bigquery命令行工具。但我不认为这应该是这个原因。

bad runtime process port ['']

追踪(最近一次呼叫最后一次):

  

文件   “/Users/txzhang/Documents/App/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/_python_runtime.py”   第197行,in       _run_file( file ,globals())文件“/Users/txzhang/Documents/App/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/_python_runtime.py” ,   第193行,在_run_file中       execfile(script_path,globals_)文件“/Users/txzhang/Documents/App/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/python/runtime.py ”   第175行       main()文件“/Users/txzhang/Documents/App/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/python/runtime.py”,   第153行,主要       sandbox.enable_sandbox(config)文件“/Users/txzhang/Documents/App/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/python/sandbox.py ”   第159行,在enable_sandbox中       导入('%s.threading'%dist27。名称)文件“/Users/txzhang/Documents/App/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default。包/内容/资源/ google_appengine /谷歌/ AppEngine上/工具/ devappserver2 /蟒蛇/ sandbox.py”   第903行,在load_module中       引发ImportError('没有名为%s'的模块'%fullname)ImportError:没有名为google.appengine.dist27.threading的模块

2 个答案:

答案 0 :(得分:2)

最可能的原因是有另一个来自谷歌的python包。跑 使用python -vvvvv的详细模式下的python并尝试执行以下命令import google

如果上述导入成功,请确保它来自/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google,这是我系统上的python google appengine库的路径(OSX,google appengine sdk的全新安装)。

如果情况不是(但导入成功)那么它最有可能是其他现有的谷歌库,它们会产生问题,并且在成功后的python提示符下会显示相同的路径import google命令如下:

  

>>>导入谷歌

     

导入google#从Zip加载   /Library/Python/2.7/site-packages/protobuf-2.4.1-py2.7.egg/google/的初始化 pyc文件

在这种情况下,我的谷歌protobuf包是罪魁祸首。

<强>解决方案:

  1. 使用virtualenv :如果之前没有使用过python virtualenv,可能是使用它的最佳时机。 (a)确保您的PYTHONPATH变量未设置为包含任何包含Google软件包的内容!取消设置它运行unset PYTHONPATH(在你的bash提示符中),除非你非常确定你在那里有什么。 (b)创建一个新的python virtualenv,激活它并尝试在其中运行google appengine命令:

    virtualenv --no-site-packages /tmp/googleapps
    source /tmp/googleapps/bin/activate
    dev_appserver.py path_to_google_app
    
  2. 从路径中删除冲突的包:将冲突的包移动到新的virtualenv。这可能会破坏其他内容,因此不推荐

  3. 我今天遇到了同样的问题。这是谷歌的最佳结果,但没有任何答案,我在我的系统修复相同的问题后添加此。可能有其他可能的原因,谢天谢地,我没有遇到过。

    祝你好运!

答案 1 :(得分:1)

最近升级的开发SDK开始给我带来这个问题。经过多次动荡之后,我发现问题在于SDK是在我的项目代码的子目录中。当我从另一个(父)目录运行SDK时,错误就消失了。