Python 包管理从入门到精通:自定义包与第三方包安装全解析

文章目录

  • [一、什么是 Python 包?](#一、什么是 Python 包?)
  • [二、自定义 Python 包:从创建到使用](#二、自定义 Python 包:从创建到使用)
    • [2.1 如何创建自定义包?](#2.1 如何创建自定义包?)
    • [2.2 自定义包的导入方式](#2.2 自定义包的导入方式)
    • [2.3 踩坑:from 包名 import *失效?](#2.3 踩坑:from 包名 import *失效?)
  • 三、第三方包:安装与使用
    • [3.1 安装第三方包的工具:pip](#3.1 安装第三方包的工具:pip)
    • [3.2 验证第三方包是否安装成功](#3.2 验证第三方包是否安装成功)
    • [3.3 (拓展)在 PyCharm 中安装第三方包](#3.3 (拓展)在 PyCharm 中安装第三方包)
  • 四、总结

在 Python 开发中,包(Package)是组织代码、复用功能的核心机制。无论是自己封装工具模块,还是使用社区成熟的第三方库,掌握包管理都是提升开发效率的关键。本文将从自定义 Python 包和第三方包安装两个维度,结合实操案例深入讲解。

一、什么是 Python 包?

包是 Python 中模块的集合(一个包可以包含多个.py模块文件),用于将功能相近的代码归类管理,避免模块名冲突,同时让项目结构更清晰。
官方包 :Python 内置的标准库(如os、sys),无需额外安装即可直接导入。
自定义包 :自己编写的模块集合,用于项目内代码复用。
第三方包:非 Python 官方提供的社区开源库(如numpy、pandas),需手动安装后使用。

二、自定义 Python 包:从创建到使用

2.1 如何创建自定义包?

创建一个 Python 包只需两步:

新建一个文件夹(包名,如my_package);

在文件夹内创建__init__.py文件(空文件即可,用于标识该文件夹为 Python 包);

将功能模块(如my_module1.py、my_module2.py)放入该文件夹。

2.2 自定义包的导入方式

以 "包my_package包含my_module1.py(含函数info_print1())和my_module2.py(含函数info_print2())" 为例,常见导入方式有 3 种:
方式 1:全路径导入

直接通过 "包名。模块名" 导入,使用时需带完整路径:

python 复制代码
import my_package.my_module1
import my_package.my_module2

# 调用函数
my_package.my_module1.info_print1()
my_package.my_module2.info_print2()

方式 2:从包中导入指定模块

通过from 包名 import 模块名导入,使用时直接用模块名:

python 复制代码
from my_package import my_module1
from my_package import my_module2

# 调用函数
my_module1.info_print1()
my_module2.info_print2()

方式 3:从模块中导入指定函数

通过from 包名.模块名 import 函数名导入,直接使用函数名:

python 复制代码
from my_package.my_module1 import info_print1
from my_package.my_module2 import info_print2

# 调用函数
info_print1()
info_print2()

2.3 踩坑:from 包名 import *失效?

如果直接用from my_package import *导入包内所有模块,可能出现 "模块未定义" 的错误(如开头案例中my_module2无法识别)。

这是因为import *默认不会导入包内所有模块,需要在包的__init__.py中通过__all__变量显式指定允许被导入的模块:

python 复制代码
# 在my_package/__init__.py中添加:
__all__ = ["my_module1", "my_module2"]  # 允许被import *导入的模块列表

添加后,from my_package import *就能正常导入my_module1和my_module2了。

三、第三方包:安装与使用

第三方包是 Python 生态的核心优势(如科学计算numpy、数据分析pandas),但需要先安装才能使用。

3.1 安装第三方包的工具:pip

pip是 Python 内置的包管理工具,用于安装 / 卸载 / 管理第三方包。

打开命令提示符(CMD),输入以下命令:

安装完成后,会提示 "Requirement already satisfied"(若已安装)或 "Successfully installed"。

3.2 验证第三方包是否安装成功

安装后,可在 Python 交互环境中验证:

打开 CMD,输入python进入 Python 交互模式;

导入包并执行简单代码:

python 复制代码
import numpy
arr = numpy.array([1,2,3])
print(arr)  # 输出[1 2 3],说明安装成功

3.3 (拓展)在 PyCharm 中安装第三方包

如果使用 PyCharm 开发,也可以直接在 IDE 中安装包:

打开File > Settings > Project: 项目名 > Python Interpreter;

点击右上角的+号,搜索需要的包(如numpy);

选中包后点击Install Package,等待安装完成。

四、总结

自定义包:是模块的集合,通过__init__.py标识,支持多种导入方式;__all__变量可控制import *的导入范围。

第三方包:需通过pip安装,安装后可直接导入使用;PyCharm 也支持可视化安装。

相关推荐
~无忧花开~5 小时前
JavaScript实现PDF本地预览技巧
开发语言·前端·javascript
vvoennvv5 小时前
【Python TensorFlow】 TCN-LSTM时间序列卷积长短期记忆神经网络时序预测算法(附代码)
python·神经网络·机器学习·tensorflow·lstm·tcn
靠沿5 小时前
Java数据结构初阶——LinkedList
java·开发语言·数据结构
4***99745 小时前
Kotlin序列处理
android·开发语言·kotlin
froginwe115 小时前
Scala 提取器(Extractor)
开发语言
t***D2645 小时前
Kotlin在服务端开发中的生态建设
android·开发语言·kotlin
nix.gnehc5 小时前
PyTorch
人工智能·pytorch·python
Want5955 小时前
C/C++跳动的爱心②
c语言·开发语言·c++
z***3356 小时前
SQL Server2022版+SSMS安装教程(保姆级)
后端·python·flask