pip 功能大全, 使用说明

pip 简介

pip : The Package Installer for Python

Python包管理工具,提供了对 Python 包的查找、下载、安装、卸载、更新等功能。

pip 安装, 升级

conda 或者 anaconda 包中安装 Python 都包含 pip 环境。 单独安装如下:

python setup.py install

升级:

python -m pip install --upgrade pip
pip install --upgrade pip #之前用过不是很保险,先会卸载 pip,然后卸载就无法使用 pip 进行更新了。新版本 pip 好像解决了

pip 换源

pip国内的一些镜像

永久修改: linux: 修改 ~/.pip/pip.conf (没有就创建一个), 内容如下:

[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn

windows:

直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,在pip 目录下新建文件pip.ini,内容如下

或者按照网友的建议:win+R 打开用户目录%HOMEPATH%,在此目录下创建 pip 文件夹,在 pip 目录下创建 pip.ini 文件, 内容如下

[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn

pip 常用指令

(1) pip 安装包,下载包

#pip 安装
pip install <package_name>
​
#pip 安装特定 package 版本
pip install package_name==package_version
​
#安装 pip 多个文件
pip install pack1 pack2 ...
​
#使用 txt 进行安装
pip install requirements.txt
​
requirements.txt content info:
    Pillow==8.2.0
    torch 
    opencv-python
    matplotlib
_______________________________
​
#使用别的源进行安装 
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package matplotlib
​
#使用 whl 进行安装
pip install wheel_path  xxx.whl
​
#已经安装了包, 升级|降级|安装特定的版本的包
pip install --upgrade Pillow==8.2.0
​
#安装可以编辑的包, setuptools in develop mode
#需要项目的setup.py 文件夹,然后使用命令, 处于setup.py 文件的位置 
pip install -e/--editable . 
pip install -e/--editable vega
​
#不缓存 安装
pip --no-cache-dir install
​
#有一些权限问题安装需要使用, 或者为了不破坏 conda环境,给用户安装的时候使用
pip install --user xxxx 

安装还有在线离线模型:

pip download与pip install简介_happy_wealthy的博客-CSDN博客

#离线下载, -d 表示下载软件到哪个文件夹中 路径
pip download -d packages -r requirements.txt
​
#离线安装
pip install --no-index --find-links=packages -r requirements.txt

可编辑的方式安装具体细节指导:

https://www.jianshu.com/p/9a5e7c935273

pip install --user 问题, 特定用户安装:

从Python2.6开始,所有Python发行版都支持特定于用户的替代安装位置。

python文档中解释了每个操作系统的默认位置,

  • UNIX和Mac OS X非框架构建的默认位置 ~/.local

  • Mac框架构建的默认位置~/Library/Python/X.Y

  • Windows的默认位置%APPDATA%\Python

通过pip install指定--user可以打开这种安装模式。

pip install --user遵循四个规则:

  • 当全局安装的包位于python路径上,并且与安装要求冲突时,它们将被忽略,不会被卸载。

  • 当全局安装的包在python路径上,并且它们满足了安装需求时,pip不做任何操作,并报告需求已得到满足(类似于全局包在--system-site-packages ,virtualenv中安装包时满足需求的方式)。

  • --no-site-packages virtualenv中,由于用户站点不在python路径上,pip不会执行--user安装。安装是没有意义的。

  • --system-site-packages virtualenv中,pip不会安装与virtualenv site-packages中的包冲突的包。--user安装将没有意义。

其他方式可查看 pip install --help

(2) pip 卸载包

#卸载一个包
pip uninstall numpy
​
#卸载多个包
pip uninstall numpy scipy matplotlib
​
#卸载指定文件中包含的包
pip uninstall -r your_path/requirements.txt

(3) pip list

# 查看安装的所有包
pip list 
# 查看安装的包,哪些需要更新了
pip list -o/--outdated
# 查看目前是最新版的包
pip list -u/--uptodate
# 查看可编辑的包
pip list -e
# 列出特定目录下的
pip list --path ~/.local/lib/python3.6/site-packages

其余请看附录

(4) 其他的 pip 操作简介

# 显示 pip install 的 包的信息
pip show torch 
pip show -f torch # 具体信息
​
# pip search 不能使用 
# 查看链接  https://blog.csdn.net/chushudu/article/details/119517052
pip install pip_search
pip_search torch 

博客总结

pip 命令总结 - 走看看

pip list

python包管理工具pip download详解_科技_品阅网

pip uninstall 卸载关联_pip 用法一览表_weixin_39584549的博客-CSDN博客

附录

python包管理工具pip list 详解

pip list用于查看已安装的库,指定的选项不同输出的结果就不同,我们可以根据需要指定不同的选项。

这里我们主要讲述以下几个常用选项:--outdated、--uptodate、--local、--user、--path、--pre、--format、--not-required、--exclude。

outdated

这个选项用于列出可以更新的安装包,可以让我们知道哪些安装包需要更新了,比如在我机器上执行以下命令:

pip list --outdated

输出如下内容:

Package    Version Latest Type
---------- ------- ------ -----
aiohttp    3.6.2   3.8.1  wheel
attrs      19.3.0  21.4.0 wheel
chardet    3.0.4   4.0.0  wheel
idna       2.9     3.3    wheel
multidict  4.7.5   5.2.0  wheel
setuptools 39.2.0  59.6.0 wheel
yarl       1.4.2   1.7.2  wheel

输出信息的每一行指出了可以更新到的版本以及安装包类型。

uptodate

这个选项列出了已是最新版本无需更新的安装包,比如在我的机器上执行以下命令:

pip list --uptodate

输出如下内容:

Package            Version
------------------ -------
async-timeout      4.0.2
dataclasses        0.8
Deprecated         1.2.13
idna-ssl           1.1.0
importlib-metadata 4.8.3
itsdangerous       2.0.1
MarkupSafe         2.0.1
packaging          21.3
pip                21.3.1
pyparsing          3.0.7
redis              4.2.0
typing_extensions  4.1.1
Werkzeug           2.0.3
wrapt              1.14.0
zipp               3.6.0

这些安装包的版本都是最新且无需更新的。

local

这个选项告诉pip如果我们是在virtualenv下且有权访问全局安装包时,不列出全局安装包,比如在我机器上执行以下命令:

pip list --local

输出内容如下:

Package            Version
------------------ -------
click              8.0.4  
dataclasses        0.8    
Flask              2.0.3  
importlib-metadata 4.8.3  
itsdangerous       2.0.1  
Jinja2             3.0.3  
MarkupSafe         2.0.1  
Pillow             8.4.0  
pip                20.0.2 
PyMySQL            1.0.2  
setuptools         46.1.3 
typing-extensions  4.1.1  
Werkzeug           2.0.3  
wheel              0.34.2 
zipp               3.6.0 

可见比前面不带local选项列出的少了一些。

user

这个选项列出安装在user-site下的安装包,即执行pip install --user时安装的包,在我机器上执行以下命令:

pip list --user

输出内容如下:

Package            Version
------------------ -------
async-timeout      4.0.2
dataclasses        0.8
Deprecated         1.2.13
importlib-metadata 4.8.3
itsdangerous       2.0.1
MarkupSafe         2.0.1
packaging          21.3
pyparsing          3.0.7
redis              4.2.0
typing_extensions  4.1.1
Werkzeug           2.0.3
wrapt              1.14.0
zipp               3.6.0

这些安装包都安装在我机器上的这个目录下:~/.local/lib/python3.6/site-packages。

path

这个选项告诉pip只列出path指定目录下的安装包,比如在我机器上执行以下命令:

pip list --path ~/.local/lib/python3.6/site-packages

输出内容与pip list --user是一样的。

pre

默认情况下pip只列出稳定版本的包,通过指定这个选项就会同时列出预发布和开发中的版本,比如在我的机器上执行以下命令:

pip list --outdated --pre

输出内容如下:

Package    Version Latest  Type
---------- ------- ------- -----
aiohttp    3.6.2   4.0.0a1 wheel
attrs      19.3.0  21.4.0  wheel
chardet    3.0.4   4.0.0   wheel
idna       2.9     3.3     wheel
multidict  4.7.5   5.2.0   wheel
setuptools 39.2.0  59.6.0  wheel
yarl       1.4.2   1.7.2   wheel

可以看到aiohttp那一行包含了alpha版本:4.0.0a1

format

这个选项指定输出格式,默认是列格式,这个选项有三个值可用,分别是:columns、freeze、json,比如执行以下命令:

pip list --uptodate --format freeze

输出内容如下:

async-timeout==4.0.2
dataclasses==0.8
Deprecated==1.2.13
idna-ssl==1.1.0
importlib-metadata==4.8.3
itsdangerous==2.0.1
MarkupSafe==2.0.1
packaging==21.3
pip==21.3.1
pyparsing==3.0.7
redis==4.2.0
typing_extensions==4.1.1
Werkzeug==2.0.3
wrapt==1.14.0
zipp==3.6.0

not-required

这个选项告诉pip只列出不被其它安装包依赖的安装包,比如在我机器上执行以下命令:

pip list --not-required

输出内容如下:

Package      Version
------------ -------
aiohttp      3.6.2
itsdangerous 2.0.1
MarkupSafe   2.0.1
pip          21.3.1
redis        4.2.0
setuptools   39.2.0
Werkzeug     2.0.3

exclude

这个选项告诉pip从列出的安装包中排除指定的安装包,也就是说这个选项指定的安装包不会出现在输出中,比如在我机器上执行以下命令:

pip list --not-required --exclude aiohttp

输出如下:

Package      Version
------------ -------
attrs        19.3.0
chardet      3.0.4
idna-ssl     1.1.0
itsdangerous 2.0.1
MarkupSafe   2.0.1
pip          21.3.1
redis        4.2.0
setuptools   39.2.0
Werkzeug     2.0.3
yarl         1.4.2

可见输出的内容已经没有aiohttp这个安装包了。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值