我正在尝试在Eclipse中进行自动PyDev / nosetests / GAE设置,使用命令行修补进行验证。到目前为止,我的内容如下:
偏好设置 - > PyDev - >的PyUnit
Nose Test Runner
Parameters: --with-gae -w "/My/App/Root" --without-sandbox -P
目录结构(省略了正常的GAE内容)
./src/
*module hierarchy*
./tests/
__init__.py
sometests.py
./main.py
./urls.py
目前,当我在我的app root中的命令行使用相同的参数时,src /中导入'main'或'urls'的Python模块会导致:
ERROR: Failure: ImportError (No module named main)
注意:这与another SO post related to nose类似。在这种情况下,该解决方案不适用,因为我的应用程序根目录中没有__init__.py
。
答案 0 :(得分:1)
要实现这一点,你需要有一个带有2个pythonpath条目的结构,一个添加'src',另一个添加你的项目根...
即:说你有:
/ project< - 将其添加到PYTHONPATH(即在PyDev中设置为源文件夹)
/ project / src< - 同时将其添加到PYTHONPATH(也在PyDev中设置为源文件夹)
/project/main.py< - 现在应该找到它的父文件夹在PYTHONPATH中:)
尽管如此,我必须说我发现这个结构有点尴尬......在这个用例中,我可能会删除'src'文件夹并在PYTHONPATH中保留'/ project'(并移动''的内容' src'到项目根目录)
或者将'main.py','urls.py'和'tests'移到'src'文件夹中......