这篇文章主要介绍了python下载安装包后下载为什么有黑窗口,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。
Python 历时这么久以来至今还未有一个事实上标准的项目管理及构建工具,以至于造成 Python 项目的结构与构建方式五花八门宿迁趣品网络。这或许是体现了 Python 的自由意志。
不像 Java 在经历了最初的手工构建,到半自动化的 Ant, 再到 Maven 基本就是事实上的标准了。其间 Maven 还接受了其他的 Gradle(Android 项目主推), SBT(主要是 Scala 项目), Ant+Ivy, Buildr 等的挑战,但都很难撼动 Maven 的江湖地位,而且其他的差不多遵循了 Maven 的目录布局。
回到 Python,产生过 pip, pipenv, conda 那样的包管理工具,但对项目的目录布局没有任何约定。
关于构建很多还是延续了传统的 Makefile 的方式,再就是加上 和 用程序代码来进行安装与构建。关于项目目录布局,有做成项目模板的,然后做成工具来应用项目模板。
下面大概浏览一下四个工具的使用
CookieCutter
PyScaffold
PyBuilder
Poetry
CookieCutter 一个经典的 Python 项目目录结构
$ pip install cookiecutter
$ cookiecutter gh:audreyr/cookiecutter-pypackage
# 以 github 上的 audreyr/cookiecutter-pypackage 为模板,再回答一堆的问题生成一个 Python 项目
......
project_name [Python Boilerplate]: sample
......
最后由 cookiecutter 生成的项目模板是下面的样子:
$ tree sample
sample
├──
├──
├──
├── LICENSE
├──
├── Makefile
├──
├── docs
│ ├── Makefile
│ ├──
│ ├──
│ ├──
│ ├──
│ ├──
│ ├──
│ ├──
│ ├──
│ └──
├──
├── sample
│ ├──
│ ├──
│ └──
├──
├──
├── tests
│ ├──
│ └──
└──
3 directories, 26 files
这大概是当前比较流行的目录结构的主体框架,主要元素是:
$ tree sample
sample
├── Makefile
├──
├── docs
│ └──
├──
├── sample
│ ├──
│ └──
├──
├──
└── tests
├──
└──
项目 sample 目录中重复 sample 目录中放置 Python 源文件,tests 目录中是测试文件,再加一个 docs 目录放文档,, 其他的用于构建的 setup, 和 Makefile 文件。
这其