电子设备知识网-中国电子设备,国内最专业电子设备平台
电子设备知识网-中国电子设备,国内最专业电子设备平台

详解Python项目推荐结构

在真正项目中,一般使用PyCharm或VSCode开发。那有的小伙伴就问了,项目文件目录有没有一个标准的结构?

应该没有唯一的统一标准,但Python社区大佬Kenneth Reitz在2013年提出一个Python项目目录结构,推荐你日后项目中参考。

Python项目推荐结构
Kenneth推荐目录结构,如下所示:

 samplemod-master ├── LICENSE ├── MANIFEST.in ├── Makefile ├── README.rst ├── docs │   ├── Makefile │   ├── conf.py │   ├── index.rst │   └── make.bat ├── requirements.txt ├── sample │   ├── __init__.py │   ├── core.py │   └── helpers.py ├── setup.py └── tests    ├── __init__.py    ├── context.py    ├── test_advanced.py    └── test_basic.py 一共3个文件夹,17个文件。

先来看看第一个文件夹docs,它是项目相关文档,包括依赖包安装的Makefile和make.bat,项目配置conf.py,项目介绍文档index.rst,是比README.rst更细化的一个文档,README.rst更像一个项目总览。

第二个文件夹sample,在Python中一般叫做包(package),它是项目核心代码,一般会有多个这种包,__init__.py是Python包包括的文件。core.py和helpers.py是sample包里两个核心模块。

第三个包tests,是对应于sample包的单元测试包,里面的模块名称一般以test开头,测试sample里的每个模块。

setup.py是做什么的?
有了上面三个最主要的包外,文件最重要的有setup.py,这个文件是做什么的?

简单来说,setup.py是和打包相关的配置模块,一般结合setuptools。

有了setup.py,我们就可以安装包到本地全局环境,或者上传到PyPi,这样全世界开发者都有机会搜索到你的包,并使用pip安装上你的包。

里面代码相对比较标准和固定,比如在这个项目里代码如下:

 from setuptools import setup, find_packages  with open('README.rst') as f:    readme = f.read() with open('LICENSE') as f:    license = f.read() setup(    name='sample',    version='0.1.0',    description='Sample package for Python-Guide.org',    long_description=readme,    author='Kenneth Reitz',    author_email='me@kennethreitz.com',    url='https://github.com/kennethreitz/samplemod',    license=license,    packages=find_packages(exclude=('tests', 'docs')) )

看到这里面用到README.rst和LICENSE文件,并且指定打哪些包分发出去。
审核编辑:汤梓红

未经允许不得转载:电子设备知识网 » 详解Python项目推荐结构

分享到: 生成海报