[Python] 包管理器Pip
序
- python的包管理器pip其实一直在用,但一直没有总结一下。过了许久后,再来摸,又会生疏。索性,那就总结一下吧,以便对此工具,常用常翻常新。
概述:Python包管理器 Pip
pip
是Python
的包管理工具,用于安装和管理Python
包。
pip
允许用户从Python
包索引(PyPI
)下载和安装软件包,确保项目所需的依赖项正确安装。
因此,掌握pip的使用对于Python开发至关重要。
PIP的安装与卸载
检查是否已安装 pip
在使用pip之前,首先需要检查你的系统中是否已经安装了pip。打开终端或命令提示符,输入以下命令:
pip --version
如果已安装,你会看到类似于以下的输出:
(base) C:\Users\xxx>pip --version
pip 24.3.1 from D:\Program\Miniforge3\Lib\site-packages\pip (python 3.12)
安装Pip
- 如果未安装,可以通过以下步骤进行安装:
Windows: 下载 get-pip.py,然后在命令提示符中运行:
【补充/可忽略】 tar 包下载 url : https://pypi.org/project/pip/#history
python get-pip.py
Linux/Mac: 使用以下命令:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
PIP的使用
基本使用
- 安装包:
pip install {packageName}
eg :
pip install requests
- 查看已安装的包:
可以列出当前环境中已安装的所有包及其版本
pip list
- 查看包信息
要查看某个包的详细信息,可以使用pip show命令:
pip show {packageName}
例如
(base) C:\Users\xxx>pip show requests
Name: requests
Version: 2.32.3
Summary: Python HTTP for Humans.
Home-page: https://requests.readthedocs.io
Author: Kenneth Reitz
Author-email: me@kennethreitz.org
License: Apache-2.0
Location: D:\Program\Miniforge3\Lib\site-packages
Requires: certifi, charset_normalizer, idna, urllib3
Required-by: conda, conda_package_streaming, langchain, langchain-community, langsmith, requests-toolbelt
- 查找包 【已废止/PyPI不建议使用】
如果你不知道要安装哪个包,可以使用
pip search
命令来查找包:
pip search {keyword}
例如:查找与requests相关的包:
pip search requests
(base) C:\Users\xxx>pip search requests
ERROR: XMLRPC request failed [code: -32500]
RuntimeError: PyPI no longer supports 'pip search' (or XML-RPC search). Please use https://pypi.org/search (via a browser) instead. See https://warehouse.pypa.io/api-reference/xml-rpc.html#deprecated-methods for more information.
+ 卸载包:
可以卸载不再需要的包。
pip uninstall {packageName}
例如,卸载requests库可以使用命令pip uninstall requests
。
执行日志
(base) D:\Workspace\xxx\MindSearch> pip show pydantic
Name: pydantic
Version: 2.6.4
Summary: Data validation using Python type hints
Home-page: https://github.com/pydantic/pydantic
Author:
Author-email: Samuel Colvin <s@muelcolvin.com>, Eric Jolibois <em.jolibois@gmail.com>, Hasan Ramezani <hasan.r67@gmail.com>, Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>, Terrence Dorsey <terry@pydantic.dev>, David Montague <david@pydantic.dev>, Serge Matveenko <lig@countzero.co>, Marcelo Trylesinski <marcelotryle@gmail.com>, Sydney Runkle <sydneymarierunkle@gmail.com>, David Hewitt <mail@davidhewitt.io>
License:
Location: C:\Users\xxx\AppData\Roaming\Python\Python312\site-packages
Requires: annotated-types, pydantic-core, typing-extensions
Required-by: fastapi, gradio, lagent, langchain, langchain-core, langsmith, pydantic-settings
(base) D:\Workspace\xxx\MindSearch> pip uninstall pydantic
Found existing installation: pydantic 2.6.4
Uninstalling pydantic-2.6.4:
Would remove:
c:\users\xxx\appdata\roaming\python\python312\site-packages\pydantic-2.6.4.dist-info\*
c:\users\xxx\appdata\roaming\python\python312\site-packages\pydantic\*
Proceed (Y/n)? Y
Successfully uninstalled pydantic-2.6.4
- 更新包:
可以更新已安装的包到最新版本
pip install --upgrade {packageName}
- 查看帮助信息
可以查看pip的所有可用命令和用法说明
pip --help
PIP 常见问题
Q: 配置、使用镜像源
- 为了加快下载速度,可以使用国内的镜像源。
例如,使用清华大学的镜像源可以通过命令
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name
来实现。
-i
等效于--index-url
- 查看配置的镜像源
# 命令1
python -m pip config list
# 命令2
pip config list
- 临时更换
这种方法仅在当前终端会话有效,关闭窗口后将恢复到默认源。
在执行pip install
命令时,只需添加-i
参数并指定镜像地址
# 清华大学镜像源
pip install package_name -i https://pypi.tuna.tsinghua.edu.cn/simple
# 阿里云源 【推荐】
pip install markdown -i https://mirrors.aliyun.com/pypi/simple/
# 腾讯云源
pip install markdown -i https://mirrors.cloud.tencent.com/pypi/simple/
# 豆瓣源
pip install markdown -i http://pypi.douban.com/simple/
- 永久更换
# 查看配置
python -m pip config list
# 为了更便捷地操作,推荐采用永久设置的方式。
# 通过`pip config`命令,我们可以更改全局源地址:
# 1、更换为清华源
> python -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
Writing to C:\Users\xxx\AppData\Roaming\pip\pip.ini
> python -m pip config list
global.index-url='https://pypi.tuna.tsinghua.edu.cn/simple'
# 2、更换为阿里源 【推荐】
python -m pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
# 3、更换腾讯云源
python -m pip config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple/
# 4、更换为豆瓣源
python -m pip config set global.index-url http://pypi.douban.com/simple/
# 要恢复默认源,只需运行
pip config unset global.index-url
或按如下操作:建个文件
~/.pip/pip.conf
(windows:C:\Users\xxx\AppData\Roaming\pip\pip.ini
), 内容如下:
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com
或
[global]
timeout = 6000
index-url = http://e.pypi.python.org/simple
[install]
use-mirrors = true
mirrors = http://e.pypi.python.org
或
[global]
index-url = http://b.pypi.python.org/simple
[install]
use-mirrors = true
mirrors = http://b.pypi.python.org
Q: 批量安装多个包
- 首先,可以通过创建一个包含包名称的文本文件
- 然后,使用命令
pip install -r requirements.txt
来批量安装多个包。
注:可以手动创建一个
requirements.txt
文件,也可以使用以下命令自动生成:
pip freeze > requirements.txt
Q: 示例项目
- 为了更好地理解pip的使用,下面是一个简单的示例项目,展示如何使用pip管理依赖项。
- 项目依赖
my_project/
│
├── app.py
└── requirements.txt
- 编写代码
在app.py
中,使用requests库进行HTTP请求:
import requests
response = requests.get('https://api.github.com')
print(response.json())
- 创建requirements.txt
将requests库添加到requirements.txt文件中:
requests==2.24.0
- 使用Pip安装依赖
在项目目录中,运行以下命令安装依赖:
pip install -r requirements.txt
- 运行项目
最后,运行
app.py
文件:
python app.py
你将看到GitHub API的响应输出。
Q: 网络问题
如果在使用pip时遇到网络问题,可以尝试更换镜像源或使用离线安装包。例如:
pip install -i https://mirrors.aliyun.com/pypi/simple/ {packageName}
Q: 版本冲突
- 在更新或安装包时,可能会遇到版本冲突的问题。
可以通过指定版本号来避免这些问题
例如pip install package==1.0.0
Q: 权限问题
- 在某些情况下,安装包时可能会遇到权限问题。
方法1:可以使用
--user
选项在用户目录中安装包:
pip install --user {packageName}
方法2:可能需要使用
sudo
命令来获取管理员权限,特别是在Linux
和macOS
系统中。
Q:Python安装第三方库时出现Requirement already satisfied
用户尝试在两个不同的Python环境中安装pytz库,一个环境已经安装了2022.1版本,另一个是2022.7版本。
然后,使用pip install --target
命令将pytz安装到指定路径,并提示目标目录已存在,可以选择--upgrade
参数替换。
此外,pip
版本过旧,推荐升级到23.1.2版本。
- 问题描述
C:\Users\111111>pip install pytz
Requirement already satisfied: pytz in d:\python3.8.5\lib\site-packages (2022.1)
WARNING: You are using pip version 20.2.4; however, version 23.1.2 is available.
You should consider upgrading via the 'd:\python3.8.5\python3.8.5.exe -m pip install --upgrade pip' command.
C:\Users\111111>python -m pip install pytz
Requirement already satisfied: pytz in d:\anaconda\lib\site-packages (2022.7)
C:\Users\111111>pip install --target=d:\anaconda\lib\site-packages
ERROR: You must give at least one requirement to install (see "pip help install")
WARNING: You are using pip version 20.2.4; however, version 23.1.2 is available.
You should consider upgrading via the 'd:\python3.8.5\python3.8.5.exe -m pip install --upgrade pip' command.
- 解决方法:
pip install --target=路径 包名
C:\Users\111111>pip install --target=d:\anaconda\lib\site-packages pytz
Collecting pytz
Downloading pytz-2023.3-py2.py3-none-any.whl (502 kB)
|████████████████████████████████| 502 kB 819 kB/s
Installing collected packages: pytz
Successfully installed pytz-2023.3
WARNING: Target directory d:\anaconda\lib\site-packages\pytz already exists. Specify --upgrade to force replacement.
WARNING: You are using pip version 20.2.4; however, version 23.1.2 is available.
You should consider upgrading via the 'd:\python3.8.5\python3.8.5.exe -m pip install --upgrade pip' command.
- 参考文献
X 参考文献
- Baidu GPT : PIP包管理器
- Python Pip 使用教程:从入门到精通 - CSDN
- pip模块安装超时,设置代理或更换源 - CSDN

本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!