Python进阶篇-014. 包管理(二)
[toc]
一、创作声明
进阶篇是对基础篇的补充,这里面更多的是各种常用库、高级语法糖的教程,因此,进阶篇的内容会比较零碎。在创作过程中,同样会借助ChatGPT来辅助。
二、前言
本章重点是搞明白python中包和模块的概念。
三、包与模块
什么是包,什么是模块。通过示例来看。
1、第一个例子
一般场景下,比如我们要用某个某模块,我们会这么干: 1、第一步,安装包
pip install package_name
2、第二步,代码中引入包或者模块
import package
from package import module
3、第三步,使用模块内函数
module.hello()
2、第二个例子
一般来说,我们自定义包,工程结构如下:
|-- project
|--|-- sub_package
|--|--|-- __init__.py
|--|--|-- module_a.py
|--|--|-- module_b.py
|--|--|-- sub_sub_package
|--|--|--|-- __init__.py
|--|--|--|-- module_a.py
|--|-- setup.py
3、第三个例子
setup.py
一般来说编写内容如下:
from setuptools import setup, find_packages
setup(
name='your_package_name',
version='1.0.0',
author='Your Name',
author_email='your_email@example.com',
description='A short description of your package',
packages=find_packages(),
install_requires=[
'dependency1',
'dependency2'
],
)
4、解释说明
上面三个例子结合起来看,例子一中install的package_name其实是例子三中的your_package_name
,这个package_name install之后,你的本地就会有这个package_name包含的所有packages了。
这里有俩package,其实是不同的概念,一个是使用pip install的包,对应的是your_package_name,这个包咱们可以理解为与python无关。真正有关的是packages,我们在import的时候用的是这个。
这时候回过头来看例子二,sub_package对应的就是packages。在应用中,我们一般这么干:
from sub_package import module_a
module_a.hello()
简单点说,这里应该是有三层概念,python包安装包,python包,python模块。python包安装包里面可能有多个python包,python包下面可能有多个python模块。具体到代码,python模块就是一个个py文件,python包就是包含这堆py文件的文件夹(文件夹下面得有__init__.py
)。
四、写在最后
更多技术分享,点击传送门:https://github.com/maxiaolu66/profile
Last updated