我是新来的Python,我搜索了很多谷歌,并阅读了一些关于相对导入等的文章。尽管我无法得到它的工作。请考虑我的以下项目结构:Python项目结构和相对导入
/Project
/docs
/log
/prev
/src
a.py
/tests
/tests1
b.py
/tests2
.gitignore
README.txt
program.py
而且我想要做到的,是从文件导入a.py
脚本b.py
的内部类。一般来说,脚本b.py
应该具有输入a.py
的行。我读过一些关于使用__init__.py
文件的文章,我应该在哪里放置它们?我应该以某种方式更换PYTHONPATH
,怎么样?而最后一个问题,是项目结构可以吗?感谢您的时间和帮助!
看一看例如http://www.jeffknupp.com/blog/2013/08/16/open-sourcing-a-python-project-the-right-way/ - 你应该编写一个'setup.py'和* install *你的包用于测试导入。 '/ tests'目录本身通常不是一个模块(所以不需要'__init __。py') - 参见https://pytest.org/latest/goodpractises.html#goodpractises – jonrsharpe
@jonrsharpe“/ tests目录本身不是'通常是一个模块“ - 你是指那里的软件包而不是模块吗? –
@TomDalton是的,包 – jonrsharpe