您现在的位置是:网站首页 > 博客日记 >

pip命令全解析

作者:YXN-python 阅读量:163 发布日期:2023-04-16

首先,pip 是个啥?简单来说,pip 就是 Python 的包管理器,就像手机里的应用商店一样,可以方便地帮你安装、升级或卸载 Python 的各种第三方库。

命令 1:安装 pip

如果你是Python新手,很可能系统已经自带pip。验证是否已安装,只需在命令行输入:

python -m pip --version

命令 2:安装 Python 库

pip install requests

这就是pip最基础也是最常见的用法,它会自动处理库及其依赖关系。

命令 3:升级库

pip list --outdated # 查看待升级库

pip upgrade <package_name> # 升级指定库

命令 4:卸载库

pip uninstall <package_name>

命令 5:搜索库

pip search <keyword>

比如查找与机器学习相关的库,你可以输入 pip search machine learning。

命令 6:查看已安装库详细信息

pip show <package_name>

命令 7:只下载库而不安装

pip download <package_name>

命令 8:创建requirements文件

pip freeze > requirements.txt

这会列出当前环境中所有已安装库及其版本,并保存到requirements.txt文件中。而要根据这个文件安装所有依赖,只需:

pip install -r requirements.txt

命令 9:指定库版本安装

pip install requests==2.25.1

命令 10:检查是否存在安全漏洞

pip 配合Safety工具可以检查已安装库的安全性:

pip install safety

safety check --full-report

这会扫描所有已安装的库,并报告是否有已知的安全漏洞。

命令 11:创建虚拟环境并激活

为了避免不同项目间依赖冲突,我们通常会在每个项目下创建独立的虚拟环境,然后使用 pip 进行管理:

python -m venv my_project_env # 创建虚拟环境

source my_project_env/bin/activate # Linux/Mac激活环境

my_project_env\Scripts\activate.bat # Windows激活环境

在虚拟环境中,你可以放心使用 pip 安装和管理项目的专属依赖。

命令 12:清理未使用的库或缓存

pip-autoremove <package_name>

同时,你也可以清理 pip 下载缓存以释放磁盘空间:

pip cache purge

命令 13:查看 pip 自身的版本信息及更新 pip

pip --version

为了确保 pip 始终保持最新,可使用如下命令升级 pip 自身:

python -m pip install --upgrade pip

命令 14:指定源安装库

在某些网络环境下,可能需要从国内镜像或者其他自定义源下载和安装库。例如使用阿里云的Python 镜像源:

pip install -i https://mirrors.aliyun.com/pypi/simple/ <package_name>

或永久更改 pip 默认源(推荐在配置文件中修改):

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

命令 15:分发本地构建的库

如果你自己开发了一个 Python 包,并希望在本地测试安装,可以先打包成 whl 或 tar.gz格式,然后通过 pip 进行安装:

# 假设你已经将项目打包为my_package-0.1.0.whl

pip install ./my_package-0.1.0.whl

命令 16:查看库安装路径

pip show --files <package_name>

命令 17:在安装时跳过测试

pip install --no-deps --ignore-installed --no-cache-dir --disable-pip-version-check --no-compile <package_name>

命令 18:列出所有全局安装的库

pip list

命令 19:在安装时指定额外选项

某些库可能在安装时需要额外参数,比如numpy、scipy等科学计算库,你可以直接在pip命令中传递这些选项:

pip install numpy --install-option="--openblas"

这里的--openblas是一个示例,实际选项请根据库文档进行设置。

命令 20:查看依赖树

要了解一个包及其所有依赖关系,可以使用deptree第三方工具:

pip installdeptree

deptree -l <package_name>

这将展示指定包及其所有依赖项之间的层级关系。

命令 21:修复损坏的库

pip install --force-reinstall <package_name>

命令 22:获取库的源码

pip download <package_name> --no-binary :all:

然后在下载目录中找到对应的tar.gz或whl文件解压查看。

命令 23:执行pip的自定义脚本

有些开发者可能会编写自定义的 pip 脚本来自动化一些任务,你可以通过run命令执行:

pip run my_script.py

命令 24:在安装时指定 Python 版本

python3.7 -m pip install <package_name>

这里python3.7替换成你想要使用的Python解释器路径。

命令 25:检查依赖冲突

在项目中可能存在不兼容的依赖版本,可以使用pipdeptree第三方工具来检测:

pip install pipdeptree

pipdeptree --packages <package_name>

这将展示指定包及其依赖项之间是否存在版本冲突。

命令 26:创建独立可执行文件

借助pyinstaller等工具,你可以通过pip将Python程序打包成一个独立可执行文件:

pip install pyinstaller

pyinstaller your_script.py

命令 27:管理用户级别的包

默认情况下,pip 会安装全局系统级别的包。若想为当前用户安装不影响系统的包,可以加上--user选项:

pip install --user <package_name>

命令 28:只升级指定的包而不升级所有包

当只需要更新某个特定的库时,可以使用--upgrade选项:

pip install --upgrade <package_name>

命令 29:批量卸载多个包

如果需要一次性卸载多个Python包,可以通过列表形式提供包名:

pip uninstall <package1> <package2> ...

命令 30:冻结当前环境下的所有包及其版本

为了能够复制或记录当前环境中所有已安装包的状态,可以生成一个 requirements 文件:

pip freeze > requirements.txt

这将把所有已安装包及其版本号写入requirements.txt文件中,便于在其他环境下复现相同的软件环境。

命令 31:根据requirements文件创建虚拟环境并安装包

结合虚拟环境(如venv或conda),可以从requirements文件重新构建环境:

python -m venv my_venv

source my_venv/bin/activate # Windows: my_venv\Scripts\activate.bat

pip install -r requirements.txt

命令32:查看所有可用版本

注意:某些情况下可能无法直接使用

pip index versions <包名>

 

 

YXN-python

2023-04-16