我知道很多地方都提出过这个问题,但他们似乎都没有回答我的问题。
我在python中创建一个独立的应用程序,我目前的项目结构是这样的:
Project/
utils/
log.py
api/
get_data_from_api.py
main.py
我希望设置类似于django的设置,我可以使用Project.<package>
语法引用任何文件。
例如,如果我想从log
模块访问我的get_data_from_api
模块,我可以这样做:
get_data_from_api.py
import Project.utils.log
# Rest of code goes here...
但是,即使我在根目录中添加了__init__.py
文件,我似乎也无法工作。
我在某处读到了我应该修改我的PYTHONPATH
,但如果可能的话,我想阻止它。另外,django似乎把它拉了下来,因为我在那里找不到任何PYTHONPATH
修改代码。
我真的很感激帮助!
发布说明: tests
符合此文件结构的位置?我希望它们是分开的,但也可以轻松访问整个项目。
答案 0 :(得分:0)
您需要将__init__.py
添加到要作为Python包处理的每个目录,而不仅仅是根目录。
Post Note:测试在哪里适合这个文件结构?我想要 它们是分开的,但也可以真正访问整个项目 容易。
您可以将tests
放在Project目录本身,与api和utils并行。
答案 1 :(得分:0)
我最终使用了如下文件结构:
src/
main.py
project/
api/
get_data_from_api.py
util/
log.py
test/
这样,因为我在程序的任何地方运行main.py
文件,所以我可以import project.<package>.<module>
。例如,我可以这样做:
<强> get_data_from_api.py 强>
import project.util.log
# Rest of code goes here...
一切正常!
如果我在黑暗中完全拍摄,请让我知道,现在数百小时进入该项目我真的错了!
答案 2 :(得分:0)
如果您查看这三个教程,可能会有所帮助。它可能无法完全解决您的想象,但肯定会为您提供有关操作方法的想法或背景。
GitHub
Code GitHub
Code GitHub
Code 他们已经写过有关x > INT_MAX/100
的文章,因此您可以在Best practice for Django project working directory structure上查看详细信息。