首页 > 解决方案 > 组织 python 项目以轻松访问所有模块的最佳方法

问题描述

我知道这个问题在很多地方都被问过,但他们似乎都没有真正回答我的问题。

我在 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这个文件结构适合哪里?我希望它们是分开的,但也可以很容易地访问整个项目。

标签: pythondjangosetup-projectproject-structure

解决方案


您需要添加__init__.py到要视为 Python 包的每个目录,而不仅仅是根目录。

后注:测试适合此文件结构的什么位置?我希望它们是分开的,但也可以很容易地访问整个项目。

您可以将您tests的项目目录本身与 api 和 utils 平行。


推荐阅读