当我尝试通过 python GoogleAppEngineLauncher 运行我的任何应用引擎项目时 我得到错误日志如下:
有人知道发生了什么事吗? 我尝试删除 SDK 并重新安装它。什么都没发生。仍然有同样的错误。
一切正常,我认为在此之前我没有进行任何更改。 我唯一能想到的是在发生这种情况之前我安装了 bigquery 命令行工具。但我认为这不应该是这个的原因。
错误的运行时进程端口 ['']
追溯(最近的调用最后):
File "/Users/txzhang/Documents/App/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/_python_runtime.py", line 197, in _run_file(file, globals()) File "/Users/txzhang/Documents/App/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/_python_runtime.py", line 193, in _run_file execfile(script_path, globals_) File "/Users/txzhang/Documents/App/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/python/runtime.py", line 175, in main() File "/Users/txzhang/Documents/App/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/python/runtime.py", line 153, in main sandbox.enable_sandbox(config) File "/Users/txzhang/Documents/App/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/python/sandbox.py", line 159, in enable_sandbox import('%s.threading' % dist27.name) File "/Users/txzhang/Documents/App/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/python/sandbox.py", line 903, in load_module raise ImportError('No module named %s' % fullname) ImportError: No module named google.appengine.dist27.threading
最佳答案
最可能的原因是有另一个来自谷歌的 python 包。运行
python 在详细模式下使用 python -vvvvv
并尝试执行以下命令 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
命令如下:
>>> import google
import google # loaded from Zip /Library/Python/2.7/site-packages/protobuf-2.4.1-py2.7.egg/google/init.pyc
在这种情况下,我的 google protobuf 包是罪魁祸首。
解决方案:
使用 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
- 从路径中删除冲突的包:将冲突的包移动到新的 virtualenv。这可能会破坏其他内容,因此不推荐。
我今天遇到了同样的问题。这是谷歌上的最高结果,但没有任何答案,我在修复我的系统上的相同问题后添加了这个。可能还有其他可能的原因,幸好我没有遇到。
祝你好运!
关于python - App Engine 开发服务器 : bad runtime process port ['' ] No module named google. appengine.dist27.threading,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21052461/