文章目录
- Python包的三种安装位置: # 1. 全局安装(默认) C:Users[用户名]AppDataLocalProgramsPythonPython[版本]Libsite-packages # 2. 用户级安装(使用–user参数) C:Users[用户名]AppDataRoamingPythonPython[版本]site-packages # 3. 虚拟环境安装(推荐) [虚拟环境路径]Libsite-packages
- 特性 npm (Node.js) pip (Python) 全局安装位置 AppDataRoamingnpmnode_modules Python安装目录Libsite-packages 本地安装位置 项目下的node_modules 虚拟环境的site-packages 依赖管理 package.json requirements.txt 环境隔离 node_modules天然隔离 需要虚拟环境手动创建 锁文件 package-lock.json Pipfile.lock(pipenv)
- import pandas as pd print(pd.__file__) # 显示pandas包的安装路径 # 或者使用pkg_resources import pkg_resources print(pkg_resources.get_distribution(“pandas”).location)
- # 显示包的详细信息,包括位置 pip show pandas # 显示所有已安装包及其位置 pip list -v # 搜索特定包 pip list | grep pandas
- # Windows python -m site # 显示所有site-packages目录 python -c “import site; print(site.getsitepackages())”
- # 安装指定版本 pip install recbole==1.1.1 # 安装版本范围 pip install ‘recbole>=1.0,<2.0’ # 从requirements.txt安装 pip install -r requirements.txt # 从GitHub安装 pip install git+https://github.com/RUCAIBox/RecBole.git
- # 基本卸载 pip uninstall recbole # 自动确认卸载 pip uninstall recbole -y # 卸载并删除依赖(谨慎使用) pip uninstall recbole –yes –verbose # 批量卸载 pip freeze | xargs pip uninstall -y
- # 清理pip缓存 pip cache purge # 清理构建文件 pip clean # 查看哪些包可以被更新 pip list –outdated
- 项目隔离:不同项目使用不同版本的包 避免冲突:防止包版本冲突 便于部署:精确控制项目依赖 保持系统整洁:不污染系统 Python 环境
- # 1. 创建虚拟环境 python -m venv myproject_env # 2. 激活虚拟环境 # Windows: myproject_envScriptsactivate # Linux/Mac: source myproject_env/bin/activate # 3. 安装包(现在安装到虚拟环境中) pip install recbole==1.1.1 # 4. 导出依赖 pip freeze > requirements.txt # 5. 退出虚拟环境 deactivate # 6. 从requirements.txt恢复环境 pip install -r requirements.txt
- # 创建conda环境 conda create -n recbole_env python=3.8 # 激活环境 conda activate recbole_env # 安装包 pip install recbole==1.1.1 # 导出环境 conda env export > environment.yml # 从yml文件创建环境 conda env create -f environment.yml
- pip install pandas # 数据分析神器 pip install numpy # 数值计算 pip install openpyxl # Excel操作 pip install matplotlib # 数据可视化 pip install seaborn # 统计可视化
- pip install flask # 轻量级Web框架 pip install django # 全功能Web框架 pip install requests # HTTP请求库 pip install beautifulsoup4 # HTML解析 pip install scrapy # 爬虫框架
- pip install tensorflow # 深度学习框架 pip install torch # PyTorch深度学习 pip install scikit-learn # 机器学习算法 pip install transformers # 自然语言处理 pip install opencv-python # 计算机视觉
- pip install jupyter # 交互式笔记本 pip install ipython # 增强的Python Shell pip install black # 代码格式化 pip install pylint # 代码检查 pip install pytest # 测试框架 pip install pipenv # 高级包管理
- pip install sqlalchemy # ORM框架 pip install pymysql # MySQL连接 pip install psycopg2 # PostgreSQL连接 pip install pymongo # MongoDB连接
- my_project/├── .venv/ # 虚拟环境(添加到.gitignore)├── src/ # 源代码├── tests/ # 测试代码├── requirements.txt # 生产依赖├── requirements-dev.txt # 开发依赖└── README.md
- # 创建虚拟环境 python -m venv .venv # 激活虚拟环境 # Windows: .venvScriptsactivate # Linux/Mac: source .venv/bin/activate # 安装基础包 pip install pandas==1.5.0 numpy==1.24.0 # 导出生产依赖 pip freeze | findstr -v “pkg-resources” > requirements.txt # 安装开发依赖 pip install black==23.0 pylint==2.16 pytest==7.2 # 导出开发依赖 pip freeze | findstr -v “pkg-resources” > requirements-dev.txt
- # 安装pipenv pip install pipenv # 创建虚拟环境并安装包 pipenv install recbole==1.1.1 pipenv install –dev black pylint pytest # 生成Pipfile.lock pipenv lock # 安装所有依赖 pipenv install –ignore-pipfile # 运行脚本 pipenv run python main.py
- # 错误:PermissionError: [WinError 5] 拒绝访问 # 解决方案: # 1. 使用虚拟环境(推荐) # 2. 使用–user参数 pip install –user package_name # 3. 以管理员身份运行
- # 错误:Cannot uninstall ‘package’… # 解决方案: # 1. 强制重新安装 pip install –ignore-installed package_name # 2. 使用虚拟环境隔离 # 3. 使用conda环境
- # 使用国内镜像源 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name # 永久配置镜像源 # Windows: C:Users用户名pippip.ini # Linux/Mac: ~/.pip/pip.conf # pip.ini内容: [global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple trusted-host = pypi.tuna.tsinghua.edu.cn
- # 1. 查看所有可用版本 pip index versions package_name # 2. 升级pip python -m pip install –upgrade pip # 3. 清除缓存重试 pip cache purge pip install package_name
目录
- 前言
- 一、Python包管理机制详解
- 1.1 包安装位置分析
- 1.2 与npm的对比
- 二、查找已安装包的位置
- 2.1 使用Python代码查找
- 2.2 使用pip命令查找
- 2.3 查找pip安装的所有包位置
- 三、包安装与卸载完全指南
- 3.1 安装特定版本
- 3.2 完全卸载包
- 3.3 清理残余文件
- 四、虚拟环境:Python开发的最佳实践
- 4.1 为什么需要虚拟环境
- 4.2 创建和使用虚拟环境
- 4.3 使用conda环境(Anaconda用户)
- 五、常用pip命令速查表
- 六、Python开发者必备的常用包
- 6.1 数据处理与分析
- 6.2 Web开发
- 6.3 机器学习与AI
- 6.4 工具与工具链
- 6.5 数据库操作
- 七、实战:完整项目依赖管理示例
- 7.1 创建项目结构
- 7.2 设置虚拟环境
- 7.3 使用pipenv进行更现代化的管理
- 八、常见问题与解决方案
- 问题1:权限错误
- 问题2:包冲突
- 问题3:下载速度慢
- 问题4:包找不到或版本错误
- 九、总结
作为一名 Python 初学者,你是否曾经困惑过:pip install 安装的包到底去哪里了?如何像 npm 一样管理 Python 依赖?为什么建议使用虚拟环境?本文将为你彻底解答这些问题,并提供完整的包管理实践指南。
Python包的三种安装位置:
# 1. 全局安装(默认) C:Users[用户名]AppDataLocalProgramsPythonPython[版本]Libsite-packages # 2. 用户级安装(使用--user参数) C:Users[用户名]AppDataRoamingPythonPython[版本]site-packages # 3. 虚拟环境安装(推荐) [虚拟环境路径]Libsite-packages
| 特性 | npm (Node.js) | pip (Python) |
|---|---|---|
| 全局安装位置 | AppDataRoamingnpmnode_modules | Python安装目录Libsite-packages |
| 本地安装位置 | 项目下的node_modules | 虚拟环境的site-packages |
| 依赖管理 | package.json | requirements.txt |
| 环境隔离 | node_modules天然隔离 | 需要虚拟环境手动创建 |
| 锁文件 | package-lock.json | Pipfile.lock(pipenv) |
import pandas as pd
print(pd.__file__) # 显示pandas包的安装路径
# 或者使用pkg_resources
import pkg_resources
print(pkg_resources.get_distribution("pandas").location)
# 显示包的详细信息,包括位置
pip show pandas
# 显示所有已安装包及其位置
pip list -v
# 搜索特定包
pip list | grep pandas
# Windows
python -m site
# 显示所有site-packages目录
python -c "import site; print(site.getsitepackages())"
# 安装指定版本
pip install recbole==1.1.1
# 安装版本范围
pip install 'recbole>=1.0,<2.0'
# 从requirements.txt安装
pip install -r requirements.txt
# 从GitHub安装
pip install git+https://github.com/RUCAIBox/RecBole.git
# 基本卸载
pip uninstall recbole
# 自动确认卸载
pip uninstall recbole -y
# 卸载并删除依赖(谨慎使用)
pip uninstall recbole --yes --verbose
# 批量卸载
pip freeze | xargs pip uninstall -y
# 清理pip缓存
pip cache purge
# 清理构建文件
pip clean
# 查看哪些包可以被更新
pip list --outdated
- 项目隔离:不同项目使用不同版本的包
- 避免冲突:防止包版本冲突
- 便于部署:精确控制项目依赖
- 保持系统整洁:不污染系统
Python 环境
Python 环境
# 1. 创建虚拟环境
python -m venv myproject_env
# 2. 激活虚拟环境
# Windows:
myproject_envScriptsactivate
# Linux/Mac:
source myproject_env/bin/activate
# 3. 安装包(现在安装到虚拟环境中)
pip install recbole==1.1.1
# 4. 导出依赖
pip freeze > requirements.txt
# 5. 退出虚拟环境
deactivate
# 6. 从requirements.txt恢复环境
pip install -r requirements.txt
# 创建conda环境
conda create -n recbole_env python=3.8
# 激活环境
conda activate recbole_env
# 安装包
pip install recbole==1.1.1
# 导出环境
conda env export > environment.yml
# 从yml文件创建环境
conda env create -f environment.yml
# 包安装
pip install package_name # 安装最新版
pip install package_name==1.0.0 # 安装指定版本
pip install -U package_name # 升级包
# 包查询
pip list # 列出所有包
pip show package_name # 显示包信息
pip search keyword # 搜索包
# 包管理
pip uninstall package_name # 卸载包
pip freeze > requirements.txt # 导出依赖
pip install -r requirements.txt # 安装依赖
# 环境管理
pip check # 检查依赖冲突
pip cache dir # 显示缓存目录
pip cache purge # 清理缓存
pip install pandas # 数据分析神器
pip install numpy # 数值计算
pip install openpyxl # Excel操作
pip install matplotlib # 数据可视化
pip install seaborn # 统计可视化
pip install flask # 轻量级Web框架
pip install django # 全功能Web框架
pip install requests # HTTP请求库
pip install beautifulsoup4 # HTML解析
pip install scrapy # 爬虫框架
pip install tensorflow # 深度学习框架
pip install torch # PyTorch深度学习
pip install scikit-learn # 机器学习算法
pip install transformers # 自然语言处理
pip install opencv-python # 计算机视觉
pip install jupyter # 交互式笔记本
pip install ipython # 增强的Python Shell
pip install black # 代码格式化
pip install pylint # 代码检查
pip install pytest # 测试框架
pip install pipenv # 高级包管理
pip install sqlalchemy # ORM框架
pip install pymysql # MySQL连接
pip install psycopg2 # PostgreSQL连接
pip install pymongo # MongoDB连接
my_project/
├── .venv/ # 虚拟环境(添加到.gitignore)
├── src/ # 源代码
├── tests/ # 测试代码
├── requirements.txt # 生产依赖
├── requirements-dev.txt # 开发依赖
└── README.md
my_project/
├── .venv/ # 虚拟环境(添加到.gitignore)
├── src/ # 源代码
├── tests/ # 测试代码
├── requirements.txt # 生产依赖
├── requirements-dev.txt # 开发依赖
└── README.md
# 创建虚拟环境
python -m venv .venv
# 激活虚拟环境
# Windows:
.venvScriptsactivate
# Linux/Mac:
source .venv/bin/activate
# 安装基础包
pip install pandas==1.5.0 numpy==1.24.0
# 导出生产依赖
pip freeze | findstr -v "pkg-resources" > requirements.txt
# 安装开发依赖
pip install black==23.0 pylint==2.16 pytest==7.2
# 导出开发依赖
pip freeze | findstr -v "pkg-resources" > requirements-dev.txt
# 安装pipenv
pip install pipenv
# 创建虚拟环境并安装包
pipenv install recbole==1.1.1
pipenv install --dev black pylint pytest
# 生成Pipfile.lock
pipenv lock
# 安装所有依赖
pipenv install --ignore-pipfile
# 运行脚本
pipenv run python main.py
# 错误:PermissionError: [WinError 5] 拒绝访问
# 解决方案:
# 1. 使用虚拟环境(推荐)
# 2. 使用--user参数
pip install --user package_name
# 3. 以管理员身份运行
# 错误:Cannot uninstall 'package'...
# 解决方案:
# 1. 强制重新安装
pip install --ignore-installed package_name
# 2. 使用虚拟环境隔离
# 3. 使用conda环境
# 使用国内镜像源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name
# 永久配置镜像源
# Windows: C:Users用户名pippip.ini
# Linux/Mac: ~/.pip/pip.conf
# pip.ini内容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
# 1. 查看所有可用版本
pip index versions package_name
# 2. 升级pip
python -m pip install --upgrade pip
# 3. 清除缓存重试
pip cache purge
pip install package_name
Python 包管理虽然初看起来复杂,但掌握了正确的方法后,你会发现它非常强大和灵活。记住这几个关键点:
- 始终使用虚拟环境:这是Python开发的最佳实践
- 精确控制版本:使用
==指定版本,避免意外升级 - 记录依赖:使用
requirements.txt或Pipfile - 了解安装位置:知道包安装在哪里,便于调试和清理
- 利用镜像加速:国内用户使用镜像源提升下载速度
通过本文的学习,你应该能够:
- 准确找到
Python包安装位置 - 熟练使用
pip进行包管理 - 理解虚拟环境的重要性并熟练使用
- 管理项目依赖并创建可复现的开发环境
- 解决常见的包管理问题
现在你已经掌握了 Python 包管理的核心技能,可以更加自信地进行 Python 开发了!
以上就是Python入门教学之包管理与pip常用包的详细教学的详细内容,更多关于Python包管理的资料请关注风君子博客其它相关文章!
您可能感兴趣的文章:
- Python利用uv轻松管理venv虚拟环境和pip依赖包
- Python使用PyInstaller/pip打包与发布的详细指南
- 一文详解Python中两大包管理与依赖管理工具(Poetry vs Pipenv)
- 使用pip一次性升级所有Python包的完整指南
- Python包管理工具pip的升级指南
- Python使用pip工具实现包自动更新的多种方法
- Python包管理工具pip的使用完全指南
- Python中包管理工具pip安装及常用命令总结