Ubuntu管理Python依赖包的常用方法
pip是Python官方包管理工具,用于安装、升级、卸载Python包;虚拟环境(如venv
)可隔离项目依赖,避免版本冲突。
sudo apt update && sudo apt install python3-pip
pip3 install package_name
(如pip3 install numpy
);pip3 install --upgrade package_name
;pip3 uninstall package_name
;pip3 list
;pip freeze > requirements.txt
(生成当前环境的包及版本信息);pip3 install -r requirements.txt
(用于快速复现项目环境)。python3 -m venv myenv
(myenv
为环境名称,可自定义);source myenv/bin/activate
(激活后终端提示符会显示环境名);deactivate
(退出当前虚拟环境)。Poetry是现代Python包管理工具,集成了依赖管理、虚拟环境创建、项目打包等功能,适合复杂项目。
curl -sSL https://install.python-poetry.org | python3 -
poetry init
(按提示填写项目信息,生成pyproject.toml
配置文件);poetry add package_name
(如poetry add flask
);poetry install
(首次运行会自动创建虚拟环境);poetry update package_name
(更新指定包)或poetry update
(更新所有包);poetry shell
(进入项目虚拟环境)。conda是开源包管理器与环境管理器,擅长处理数据科学、机器学习项目的复杂依赖(包括非Python包,如CUDA)。
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && bash Miniconda3-latest-Linux-x86_64.sh
(按提示完成安装)。conda create --name myenv python=3.9
(myenv
为环境名,python=3.9
指定Python版本);conda activate myenv
;conda install package_name
(如conda install numpy
);conda env export > environment.yml
(生成包含所有依赖的环境文件);conda env create -f environment.yml
(快速复现环境)。pipenv结合了pip与virtualenv,提供更智能的依赖解析(解决版本冲突),适合需要平衡简单性与功能性的项目。
sudo apt install python3-pip && pip3 install pipenv
pipenv install
(若项目目录无Pipfile
,会自动生成);pipenv shell
;pipenv install package_name
(如pipenv install pandas
);pipenv lock
(锁定依赖版本,确保环境一致性)。