PyCharm 无法加载 NoseGAE

PyCharm unable to load NoseGAE

我在 PyCharm 中创建了鼻子测试配置。我在工作的 virtualenv 中安装了 NoseGAE。使用 ./env/bin/nosetests --with-gae src/tests 从终端进行的 运行 测试效果很好。然而,PyCharm 测试配置产生

/Users/bistenes/Code/myproject/env/bin/python /Applications/PyCharm.app/Contents/helpers/pycharm/noserunner.py src/tests/
Testing started at 6:31 PM ...

/Users/bistenes/Code/myproject/env/lib/python2.7/site-packages/nose/plugins/manager.py:395: RuntimeWarning: Unable to load plugin nosegae = nosegae:NoseGAE: nose>=0.10.1
  RuntimeWarning)

Config 设置为 Nosetests,"All in folder" src/tests。无论是否将 --with-gae 作为参数传递,都会发生错误。

随后的失败表明未加载 NoseGAE:

AssertionError: No api proxy found for service "datastore_v3"

确保您拥有 运行 pip install --upgrade setuptools 的最新 pkg_resources。然后将要使用的 pkg_resources 版本添加到路径的前面。在 PyCharm 中,您可以通过向测试配置添加环境变量来完成此操作:PYTHONPATH=/path/to/site-packages:$PYTHONPATH.

发生这种情况是因为 PyCharm,当启用对 Google App Engine 的支持时(在 "Languages & Frameworks" 下),将一堆 GAE SDK 目录插入到 PYTHONPATH 的前面。 Python GAE SDK 附带了 setuptools-0.6c11,一个 2009 年的安装工具版本。它捆绑了一个非常旧的 pkg_resources 版本,不适用于较新的 nose 插件。