在 Mac OS X 10.6 上使用带有 Python 2.7 的 Google App Engine SDK

Posted

技术标签:

【中文标题】在 Mac OS X 10.6 上使用带有 Python 2.7 的 Google App Engine SDK【英文标题】:Using Google App Engine SDK with Python 2.7 on Mac OS X 10.6 【发布时间】:2011-12-28 23:40:57 【问题描述】:

我需要在安装了 Python 2.6 的 Mac Snow Leopard 上运行 Python 2.7。根据this answer,从 Python.org 运行 Python 2.7 mpkg 安装程序应该可以让我到达那里。

我需要这样做的原因是我正在尝试为 Python 2.7 运行时运行 Google App Engine SDK。

安装 Python 2.7 后,我的 GAE 服务器日志中仍然收到以下警告:

警告:您使用的 Python 运行时 (2.6) 比 生产运行时环境 (2.7)。

我还需要做什么才能让 GAE SDK 识别新的 Python 版本?

编辑 2:

跑步:

$ sudo find / -name python2.7

我明白了:

/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/usr/local/bin/python2.7

根据我进入 GoogleAppLauncher -> Preferences 的答案并将 Python 路径设置为其中的每一个,并且每次我得到完全相同的错误。

使用以下标志运行 dev_appserver: --admin_console_server= --port=8081 Python 命令:/Library/Frameworks/Python.framework/Versions/2.7 2011-11-14 16:12:24.726 GoogleAppEngineLauncher[57590:203] *** NSTask:任务 为路径“/Library/Frameworks/Python.framework/Versions/2.7”创建 失败:22,“无效参数”。终止临时进程。

另一个奇怪的事情是,无论我插入哪一个,它总是试图解决相同的路径;它总是恢复为/Library/Frameworks/Python.framework/Versions/2.7

编辑 3:

好的,在prefs字段中反复输入路径后,我终于把它清除了,不知何故它现在指向了正确的地方:

Running dev_appserver with the following flags:
    --admin_console_server= --port=8081
Python command: /usr/local/bin/python2.7

【问题讨论】:

这篇文章提供了关于这个主题的教程lowcoupling.com/post/51985632058/… 【参考方案1】:

打开 GAE 启动器首选项并将 Python 路径 选项设置为新安装的 Python 2.7,在您的情况下为 /usr/local/bin/python2.7

【讨论】:

@systempuntout-我刚刚尝试过,但没有做对-你能看到我的答案的编辑吗? 在你的shell上输入whereis python2.7,结果应该会给你python2.7 bin的路径。 使用 /usr/local/bin/python2.7 并回车确认,重新打开首选项并检查是否存储正确。 握住手机——我刚刚清除了 Python 路径,突然间它似乎指向正确了...... @systempuntout - 感谢您的支持 - 非常感谢【参考方案2】:

遇到这个问题,正在寻找有关 Mac、GAE 和 Python 的相同困境的解决方案。

我想就使用 GAE 首选项设置 Python 路径发表评论。我注意到您提到您在使用首选项设置 Python 路径时遇到问题。我发现编辑路径后,您必须按Enter。否则,路径不会更新。这可能解释了您在尝试编辑路径字段时提到的奇怪之处。

【讨论】:

如果没有这个,我会绕着圈子转几个小时。谢谢! 你会想象一个选择按钮或其他东西。尤达曼【参考方案3】:

我从 macports 安装了 python 2.7.x。我看到了:

$ python --version
Python 2.7.2

$ which python
/opt/local/bin/python

因此,在 GoogleAppEngineLauncher.app 的首选项中,我将 python 路径设置为:

/opt/local/bin/python

在控制台日志中,我看到:

*** Running dev_appserver with the following flags:
    --admin_console_server= --port=8081
Python command: /opt/local/bin/python

我仍然看到一些关于库的错误,尤其是 Can't open zipfile...setuptools,但至少简单的东西似乎可以工作。

祝你好运!

【讨论】:

【参考方案4】:

我不确定它是否有帮助,但我没有使用 Python 中的二进制文件,而是使用 MacPorts http://www.macports.org/ 并安装了 Python 2.7 运行时:

sudo port install python27

【讨论】:

@danielrsmith- 谢谢,我会看看,但仍然不确定如何让 GAE 引擎识别新版本...

以上是关于在 Mac OS X 10.6 上使用带有 Python 2.7 的 Google App Engine SDK的主要内容,如果未能解决你的问题,请参考以下文章

在 10.6 上测试 Mac OS X 10.7 特定代码时出现“未找到符号”崩溃

Mac OS X 10.6(雪豹)上的 Qt 4.4 视觉伪影是不是有解决方法

在 10.6 (Snow Leopard) 之后以编程方式设置 Mac OS X 音量

MAC OS X 10.6 中的通知中心备用

从 Mac OS X 10.6 64 位 macbook 运行时出现 CORBA 异常

如何在 Mac OS X 10.6 中发出硬件哔声