Python将包含启动脚本的文件夹添加到PYTHONPATH,因此如果您运行
python test/tests.py
仅将文件夹
test添加到路径(而不是在其中执行命令的基本目录)。
而是像这样运行测试:
python -m test.tests
这会将基本目录添加到python路径,然后可以通过非相对导入来访问类:
from src.classes import etc
如果您确实要使用相对导入样式,则需要将3个目录添加到包目录中
package* __init__.py* project* src* test
然后从包目录上方执行
python -m package.test.tests
也可以看看:
- https://docs.python.org/2/using/cmdline.html
- http://www.stereoplex.com/blog/understanding-imports-and-pythonpath