Python Package入门&配置
1. 什么是 Python Package?
一个 Python Package 是一个包含多个 Python 模块(.py 文件)的目录,并且必须包含一个特殊的文件 __init__.py(在 Python 3.3+ 的命名空间包中不再是强制要求,但常见)。包的作用是组织相关的模块,避免模块名冲突。
例如,一个名为 mypackage 的包结构可能如下:
text
mypackage/
__init__.py
module1.py
module2.py
subpackage/
__init__.py
module3.py
2. 使用包的核心步骤
步骤一:安装包
绝大多数情况下,我们使用第三方包。它们需要通过包管理工具 pip 来安装。
-
从 PyPI(Python 包索引)安装:这是最常见的方式。
bash
pip install package_name
-
示例:
pip install requests安装著名的 HTTP 请求库。 -
示例:
pip install numpy pandas matplotlib一次性安装多个包。
-
-
安装特定版本:
bash
pip install package_name==1.4.2
-
从本地源码安装(例如,你下载或克隆的包):
bash
pip install /path/to/package/directory
-
从需求文件安装(常用于项目部署):
bash
pip install -r requirements.txt
requirements.txt文件内容示例:text
requests>=2.25.1 numpy==1.21.0 pandas
步骤二:在代码中导入包/模块
安装后,你就可以在 Python 脚本中使用 import 语句来引入包的功能。
-
导入整个包/模块:
import pandas df = pandas.DataFrame(...) # 使用时需要前缀
-
给包/模块起别名(非常常用,特别是长名字或通用别名):
import pandas as pd import numpy as np import matplotlib.pyplot as plt df = pd.DataFrame(...) # 使用别名
-
从包中导入特定的函数/类/变量:
from math import pi, sqrt from requests import get, post print(pi) # 直接使用,无需前缀
-
从子模块中导入(常见于大包):
from sklearn.linear_model import LinearRegression from os.path import join
-
导入模块中的所有内容(不推荐,容易引起命名冲突):
from math import *
3. 创建你自己的包
如果你想让自己的代码被重用,可以将其组织成一个包。
-
创建目录结构:
my_project/ │ setup.py # 包的描述和配置信息 │ └───mypackage/ # 这是你的包 │ __init__.py │ module1.py │ module2.py │ └───subpackage/ __init__.py module3.py -
编写
__init__.py:
这个文件可以为空,但它标志着这是一个包。你也可以在里面写初始化代码,或定义__all__列表来控制from mypackage import *的行为。 -
编写
setup.py(关键步骤):
这个文件告诉pip如何安装你的包。from setuptools import setup, find_packages setup( name='mypackage', # 包名 version='0.1.0', # 版本 packages=find_packages(), # 自动查找包 install_requires=[], # 依赖的其他包,例如 ['requests>=2.25.1'] author='Your Name', author_email='your.email@example.com', description='A simple example package', ) -
安装你自己的包(用于开发):
在my_project目录下,运行以下命令,使其可以在其他 Python 脚本中像普通包一样被导入。pip install -e .
-e代表“可编辑模式”,这意味着你对源码的修改会立刻生效,无需重新安装。
4. 虚拟环境(最佳实践)
强烈建议为每个项目使用虚拟环境。它可以隔离不同项目所需的包版本,避免冲突。
-
创建虚拟环境:
python -m venv my_project_env
-
激活虚拟环境:
-
Windows (CMD/PowerShell):
my_project_env\Scripts\activate
-
macOS/Linux:
bash
source my_project_env/bin/activate
激活后,命令提示符前会显示环境名
(my_project_env)。 -
-
在激活的虚拟环境中安装包:
bash
pip install requests pandas
所有包只会安装到这个隔离的环境中。
-
退出虚拟环境:
deactivate
-
导出环境中的包列表(用于共享项目):
bash
pip freeze > requirements.txt
总结
| 操作 | 常用命令 |
|---|---|
| 安装包 | pip install package_name |
| 安装本地包(开发模式) | pip install -e . |
| 列出已安装的包 | pip list 或 pip freeze |
| 卸载包 | pip uninstall package_name |
| 创建虚拟环境 | python -m venv env_name |
| 导入包 | import package 或 from package import something |
更多推荐

所有评论(0)