参考文章 花了两天,终于把 Python 的 setup.py 给整明白了 Python项目读取配置的正确姿势

image.png

  • 在创建时,选择Python Package就是正式创建包,而创建目录则是生成一个目录,两者的区别就是Python Package中会存在一个名为init.py的Python文件
  • init.py会将该目录表示为Python Package,如果想将目录GUI也变成Python Package,则可以在其中手动创建一个init.py
  • init.py的作用:用来初始化该文件所在的Python Package ``` |- LICENSE
    |- README.md
    |- TODO.md
    |- docs
    | |— index.md
    | |— installation.md
    | |— quickstart.md
    |- sandman
    | |— init.py
    | |— exception.py
    | |— model.py
    | |— sandman.py
    |- tests
    | |— init.py
    | |— test_sandman.py
    |- setup.py
    |- tox.ini
    |- .gitignore
    |- requirements.txt
    |- requirements_dev.txt ,比requirements.txt多的是单元测试库

ProjectName │ readme 项目说明文档 │ requirements.txt 存放依赖的外部Python包列表 │ setup.py 安装、部署、打包的脚本 ├─ bin 存放脚本,执行文件等 │ └─ projectname ├─ docs 文档和配置 │ └─ abc.rst │ └─ conf.py 配置文件 └─ projectname 工程源码(包括源码、测试代码等) │ main.py 程序入口 │ init.py └─ tests 测试代码 └─ test_main.py └─ init.py ``` image.png【Python】项目结构 - 图3

requirements.txt

image.png

  • 一键安装依赖(根目录):pip install -r requirements.txt
  • 生成requirements.txt(根目录):pip freeze>requirements.txt

    setup.py

    项目打包工具:disutils、 distutils 、distutils2、setuptools等等

conf 文件夹