pip简明教程(Windows)

pip是一种Python包管理器,PyPA(Python Packaging Authority,是一个管理Python 相关包方面的各项工程的工作组) 推荐使用pip进行Python 包管理。

概述

版本

pip 20.3优化了依赖解析器。
pip 21.0(2021年1月发布)之后仅支持Python3,不再支持Python2。

安装pip

Python 2 >=2.7.9Python 3 >=3.4直接集成了pip
下载https://bootstrap.pypa.io/get-pip.py并运行可以手动安装pip
pip默认安装setuptoolswheel这两个依赖库。
在Windows中,pip安装后会默认被安装在Python的Scripts目录(该目录一般会被添加到PATH环境变量),因此可以直接在命令行中使用pip命令。

升级pip

先执行pip --version查看pip版本。
再执行pip install -U pip升级pip

使用pip管理包

安装包

pip默认从PyPI安装包。

PyPI安装包

# 安装最新版本的SomePackage
pip install SomePackage
# 安装指定版本的SomePackage
pip install SomePackage==1.0.4
# 安装SomePackage要求版本不低于指定版本
pip install SomePackage>=1.0.4
# 根据requirements文件安装指定包
pip install -r requirements.txt

从指定源安装包

除了默认的PyPI之外,Python还有其他PyPI源,国内常用的有:

  • 阿里云http://mirrors.aliyun.com/pypi/simple/
  • 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
  • 豆瓣(douban)http://pypi.douban.com/simple/
  • 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
  • 中国科学技术大学http://pypi.mirrors.ustc.edu.cn/simple/

命令格式:

pip install --index-url http://my.package.repo/simple/ SomePackage
pip install -i http://my.package.repo/simple/ package

根据本地文件安装包

pip支持的包本地文件格式为源码(tarzip)、Wheel文件(.whl)等。

安装指定本地文件

pip install ./downloads/SomePackage.whl
pip install ./downloads/SomePackage-1.0.4.tar.gz
pip install http://my.package.repo/SomePackage-1.0.4.zip

根据指定目录安装包

这种方法需要将包下载到指定目录。

pip install --no-index --find-links=file:///local/dir/ SomePackage
pip install --no-index --find-links=/local/dir/ SomePackage
pip install --no-index --find-links=relative/dir/ SomePackage

卸载包

# 卸载指定包
pip uninstall  SomePackage 
# 根据requirements文件卸载包
pip uninstall  -r requirements.txt
# 卸载时忽略确认消息
pip uninstall  -y SomePackage

升级包

pip install  -U  SomePackage 
pip install  --upgrade SomePackage 

列出已安装包信息

将本机已安装包信息输出到 requirements.txt

pip freeze > requirements.txt

列出本机已安装的包

默认查询源为PyPI。

# 列出全部已安装包
pip list
# 列出过时的安装包
pip list -o
pip list --outdated
# 列出本地可升级的包
pip list -u
pip list --uptodate

显示包信息

pip show package

搜索包

pip search package

注意:PyPI已经暂停了搜索包功能

ERROR: Exception:
Traceback (most recent call last):
  File "c:\users\administrator\appdata\local\programs\python\python37\lib\site-packages\pip\_internal\cli\base_command.py", line 153, in _main
    status = self.run(options, args)
  File "c:\users\administrator\appdata\local\programs\python\python37\lib\site-packages\pip\_internal\commands\search.py", line 52, in run
    pypi_hits = self.search(query, options)
  File "c:\users\administrator\appdata\local\programs\python\python37\lib\site-packages\pip\_internal\commands\search.py", line 71, in search
    hits = pypi.search({
    
    'name': query, 'summary': query}, 'or')
  File "c:\users\administrator\appdata\local\programs\python\python37\lib\xmlrpc\client.py", line 1112, in __call__
    return self.__send(self.__name, args)
  File "c:\users\administrator\appdata\local\programs\python\python37\lib\xmlrpc\client.py", line 1452, in __request
    verbose=self.__verbose
  File "c:\users\administrator\appdata\local\programs\python\python37\lib\site-packages\pip\_internal\network\xmlrpc.py", line 38, in request
    return self.parse_response(response.raw)
  File "c:\users\administrator\appdata\local\programs\python\python37\lib\xmlrpc\client.py", line 1342, in parse_response
    return u.close()
  File "c:\users\administrator\appdata\local\programs\python\python37\lib\xmlrpc\client.py", line 656, in close
    raise Fault(**self._stack[0])
xmlrpc.client.Fault: <Fault -32500: "RuntimeError: PyPI's XMLRPC API is currently disabled due to unmanageable load and will be deprecated in the near future. See https://status.python.org/ for more information.">

pip配置

Windows环境下,pip的配置文件保存在%APPDATA%\pip\pip.ini%HOME%\pip\pip.ini
配置项为KV结构。
通过以下命令可以管理 pip的配置项。

# 列出已经设置的配置项
pip config list
# 根据name获取配置项
pip config get name
# 将name配置项的值设置为value
pip config set name value
# 重置name配置项
pip config unset name

例如:

# 将本机pip源设置为清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

参考

https://pip.pypa.io/en/stable/

猜你喜欢

转载自blog.csdn.net/mighty13/article/details/115432236