跳到主要内容

Python 的包如何导入导出和管理

· 阅读需 2 分钟
素明诚
Full stack development

Python 包的导入

Python 的“包”可以理解为一个包含模块的文件夹,用于组织和重用代码。要在你的代码中使用现有的包或模块,需要使用 import 语句。

导入整个模块

import math  # 导入标准库中的 math 模块
print(math.sqrt(16)) # 使用模块中的函数

导入模块中的特定函数或类

from math import sqrt  # 仅导入 sqrt 函数
print(sqrt(16))

为模块或函数起别名

import numpy as np  # 为模块起别名
from math import sqrt as square_root # 为函数起别名

导入自定义模块

假设你有一个 my_module.py 文件,其中包含一些函数

# my_module.py
def greet(name):
return f"Hello, {name}!"

在同一目录下的其他脚本中,可以这样导入

import my_module
print(my_module.greet("Alice"))

Python 包的导出(创建和发布)

创建自己的模块和包

模块:一个包含 Python 代码的 .py 文件。

:一个包含 __init__.py 文件的文件夹,里面可以有多个模块。

创建一个包结构

my_package/
__init__.py
module1.py
module2.py

在 module1.py 中

def func1():
print("Function 1")

在 module2.py 中

def func2():
print("Function 2")

__init__.py 中,可以指定要导出的模块或函数

from .module1 import func1
from .module2 import func2

这样,其他人就可以导入你的包,相当于提前把包汇总到了__init__.py

from my_package import func1, func2
func1()
func2()

包的管理

使用 pip 管理包

pip 是 Python 的包管理器,用于安装、升级和卸载包。

安装包

pip install package_name

升级包

pip install --upgrade package_name

卸载包

pip uninstall package_name

虚拟环境

使用虚拟环境可以为不同的项目隔离包的依赖,避免冲突。

创建虚拟环境

python -m venv env_name

激活虚拟环境

在 Windows

env_name\Scripts\activate

在 macOS/Linux

source env_name/bin/activate

在虚拟环境中安装包

激活环境后,使用 pip install 安装的包只会影响当前环境。

退出虚拟环境

deactivate

依赖管理

生成 requirements.txt 文件

pip freeze > requirements.txt

根据 requirements.txt 安装依赖

pip install -r requirements.txt

如果有任何疑问,欢迎提出