我有这个问题,快把我逼疯了!
因此,我正在开发我的第一个真正的Google App Engine应用程序,我总是喜欢在编写测试时发现一些东西。
因此,我有以下设置:
我有一个有鼻子,花束,webtest和gaetestbed的虚拟环境。它被称为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,它实际上通过了我的测试。
因此,我开始深入研究我的应用程序,以找出可能的不同之处,但我真的遇到了麻烦。
我最初认为这可能是权限问题,因为错误显示为'access ...denied‘,但我找不到任何特别的东西。接下来,我想这可能是因为我在virtualenv之前创建了我的应用程序,但我真的看不出这有什么问题。
因此,如果有人知道为什么会发生这种情况,我将非常非常感激。
发布于 2010-08-27 07:07:47
很好,经过几个小时的尝试,在问了这个问题之后,我实际上解决了我的问题。
修复方法是使用以下开关--no-site-packages创建虚拟环境。显然,我在系统的Python中有一个webtest的副本,不知何故我的virtualenv出现了问题。当我尝试在我的virtualenv中安装webtest时,我应该注意到它已经存在。
仍然不是100%确定为什么一些应用程序可以工作,而另一些应用程序不能。
发布于 2010-08-29 23:54:32
Nose-GAE有一些documented issues when you're using virtualenv。
您可以尝试使用鼻部的--without-sandbox标志。
https://stackoverflow.com/questions/3580134
复制相似问题