0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解Python项目推荐结构

python爬虫知识分享 来源:python爬虫知识分享 作者:python爬虫知识分享 2022-03-28 15:56 次阅读

在真正项目中,一般使用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文件,并且指定打哪些包分发出去。
审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 结构
    +关注

    关注

    1

    文章

    117

    浏览量

    21598
  • python
    +关注

    关注

    56

    文章

    4797

    浏览量

    84695
收藏 人收藏

    评论

    相关推荐

    Triton编译器安装步骤详解

    :用于构建项目Python :用于运行 Triton 的 Python 绑定。 其他依赖 :根据您选择的架构,可能需要额外的依赖。 2. 安装依赖 对于 Linux: 打开终端并运行以下命令来安
    的头像 发表于 12-24 17:35 191次阅读

    Python代理技术详解:从入门到进阶

    Python代理技术是一种在网络编程中广泛使用的技术,它允许通过代理服务器发送和接收网络请求。
    的头像 发表于 11-12 07:06 253次阅读

    如何帮助孩子高效学习Python:开源硬件实践是最优选择

    家长们常常担心孩子在学习Python时所面临的挑战,如复杂性、兴趣保持、学习进度和可用资源。对于希望有效教授孩子Python的家长而言,了解硬件的作用至关重要,因为结合硬件项目Python
    的头像 发表于 09-06 09:49 323次阅读

    pytorch和python的关系是什么

    在当今的人工智能领域,Python已经成为了最受欢迎的编程语言之一。Python的易学易用、丰富的库和框架以及强大的社区支持,使其成为了数据科学、机器学习和深度学习等领域的首选语言。而在深度学习领域
    的头像 发表于 08-01 15:27 1973次阅读

    STM32项目分享:智慧农业(机智云)系统

    目录一、前言二、项目简介1、功能详解2、主要器件三、原理图设计四、PCB硬件设计1、PCB图2、PCB板打样焊接图五、程序设计六、实验效果七、资料内容项目分享一、前
    的头像 发表于 07-27 08:10 543次阅读
    STM32<b class='flag-5'>项目</b>分享:智慧农业(机智云)系统

    opencv-python和opencv一样吗

    不一样。OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,它提供了大量的图像和视频处理功能。OpenCV-Python
    的头像 发表于 07-16 10:38 1195次阅读

    python训练出的模型怎么调用

    使用pickle模块 pickle 是Python的一个内置模块,用于序列化和反序列化Python对象结构。使用 pickle 可以方便地保存和加载模型。 import pickle # 保存模型
    的头像 发表于 07-11 10:15 1957次阅读

    用pycharm进行python爬虫的步骤

    提供了许多有用的功能,如代码自动完成、调试和版本控制等。您可以从JetBrains的官方网站下载PyCharm,并根据您的需求选择免费社区版或付费专业版。 创建一个新的Python项目 打开
    的头像 发表于 07-11 10:11 851次阅读

    NucleiStudio编译没报错但是项目结构中有错,为什么?

    想请教一下各位大佬为什么这个软件在Project Explorer页面明明显示有错误,但点击左上角的build按钮却不报错呢,不太理解这个项目结构啊。。。是某部分没有include目录吗?项目
    发表于 06-21 12:35

    python解析netflow数据到csv的流程详解

    本文主要讲解了linux下通过tcpdump抓取netflow数据包,并将其导入到wireshark进行解析,然后通过wireshark导出数据为json文件,再通过python脚本将其解析为csv文件以便做数据分析。
    的头像 发表于 05-01 11:18 676次阅读
    <b class='flag-5'>python</b>解析netflow数据到csv的流程<b class='flag-5'>详解</b>

    集成芯片原理图详解

    集成芯片的原理图详解涉及多个方面,包括芯片的结构、功能模块、信号传输以及内部电路连接等。
    的头像 发表于 03-19 16:36 1922次阅读

    基于Python的地图绘制教程

    本文将介绍通过Python绘制地形图的方法,所需第三方Python相关模块包括 rasterio、geopandas、cartopy 等,可通过 pip 等方式安装。
    的头像 发表于 02-26 09:53 1219次阅读
    基于<b class='flag-5'>Python</b>的地图绘制教程

    如何使用linux下gdb来调试python程序

    如何使用linux下gdb来调试python程序  在Linux下,可以使用GDB(GNU调试器)来调试Python程序。GDB是一个强大的调试工具,可以帮助开发者诊断和修复程序中的错误。在本文
    的头像 发表于 01-31 10:41 2625次阅读

    python中open函数的用法详解

    python中open函数的用法详解 Python中的open()函数用于打开文件。它接受文件名和模式作为参数,并返回一个文件对象。文件对象可用于读取、写入和管理文件。 open()函数的基本语法
    的头像 发表于 01-30 15:31 2129次阅读

    Python智能家居系统代码介绍

    Python智能家居系统是一种基于Python编程语言开发的智能家居控制系统,在现代家庭中得到了越来越广泛的应用。本文将详细介绍Python智能家居系统的代码实现,包括系统的结构与功能
    的头像 发表于 01-25 09:46 1368次阅读