我遇到了这个问题,这让我抓狂!
所以我正在开发我的第一个真正的 Google App Engine 应用程序,我总是喜欢在编写测试时发现新事物。
所以我有以下设置:
我有一个带有 nose、nosegae、webtest 和 gaetestbed 的 virtualenv。它叫做 porksvr。
我这样激活我的 virtualenv:
source porksvr/bin/activate
要运行 nose,我使用以下命令:
nosetests --with-gae --gae-lib-root /home/fs/gae
这给了我以下错误
DEBUG: Access to module file denied:
/home/fs/work/gaecode/porksvr/lib/python2.6/site-packages/webtest
所以起初我想“好吧,nose 正在 dev_appserver 的‘上下文’中运行应用程序,所以它不知道 webtest”。
但为了确保我创建了一个新目录并添加了一个小的 GAE 应用程序。只有 3 个文件:
-main.py
-app.yaml
-test_huh.py(导入webtest模块。)
现在真正让我感到困惑的是,这确实有效。我运行 nosetests cmds,它实际上通过了我的测试。
所以我开始深入研究我的应用程序以找出有什么不同,但我真的碰壁了。
我首先认为这可能是一个权限问题,因为错误显示“访问...被拒绝”,但我真的找不到任何特别的东西。接下来我想可能是因为我在 virtualenv 之前创建了我的应用程序,但我真的看不出这怎么会是个问题。
因此,如果有人知道为什么会发生这种情况,我将非常感激。
最佳答案
Nose-GAE 有一些 documented issues when you're using virtualenv .
您可以尝试使用 nose 的 --without-sandbox
标志。
关于python - Nose / Nose : Import problems,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3580134/