组织python项目以轻松访问所有模块的最佳方法
我知道很多地方都有人问过这个问题,但似乎没有一个能真正回答我的问题 我正在用python创建一个独立的应用程序,我当前的项目结构如下:组织python项目以轻松访问所有模块的最佳方法,python,django,setup-project,project-structure,Python,Django,Setup Project,Project Structure,我知道很多地方都有人问过这个问题,但似乎没有一个能真正回答我的问题 我正在用python创建一个独立的应用程序,我当前的项目结构如下: Project/ utils/ log.py api/ get_data_from_api.py main.py 我希望有一个类似的设置,在其中我可以使用项目引用任何文件。语法 例如,如果我想从get\u data\u from\u api模块访问log模块,我可以这样做: 从api.py获取数据 imp
Project/
utils/
log.py
api/
get_data_from_api.py
main.py
我希望有一个类似的设置,在其中我可以使用项目引用任何文件。
语法
例如,如果我想从get\u data\u from\u api
模块访问log
模块,我可以这样做:
从api.py获取数据
import Project.utils.log
# Rest of code goes here...
import project.util.log
# Rest of code goes here...
但是,即使在根目录中添加了一个\uuuu init\uuuu.py
文件,我似乎也无法实现这一点
我在某个地方读到,我应该修改我的PYTHONPATH
,但如果可能的话,我想阻止这样做。此外,django似乎成功了,因为我在那里找不到任何PYTHONPATH
修改代码
我真的很感谢你的帮助
贴子:在这个文件结构中,
测试在哪里?我希望它们是分开的,但也可以很容易地访问整个项目。您需要将\uuu init\uuuuuuuupy.py
添加到每个要作为Python包处理的目录,而不仅仅是根目录
贴子:测试在这个文件结构中适合什么位置?我想要
他们是分开的,但也有权真正进入整个项目
很容易
您可以将您的测试
放在项目目录中,与api和UTIL并行。我最终使用了如下文件结构:
src/
main.py
project/
api/
get_data_from_api.py
util/
log.py
test/
这样,因为我正在运行main.py
文件,所以我可以从程序中的任何位置执行import project..
。例如,我可以这样做:
从api.py获取数据
import Project.utils.log
# Rest of code goes here...
import project.util.log
# Rest of code goes here...
一切正常
如果我完全是在黑暗中拍摄的,请让我知道,我宁愿现在就错了,也不愿在项目进行数百小时后错 看看这三个教程可能会有所帮助。它可能不会完全解决你的想象,但它肯定会给你一个如何做的想法或背景
- -
- -
他们已经编写了关于Django
,因此您可以在以下位置查看详细信息:.Python 3.3+支持,这样就不需要空的\uuu init\uuuu.py
文件。