pip命令可以对python第三方包进行高效管理的工具。
本文记录作者学习python以来常用的pip命令,并会不断更新。
!!!在打开cmd时,请用管理员权限打开!!!
#查看python版本# python
#查看python安装路径# where python
#查看pip版本及pip安装路径# pip -V
#查pip安装的库的默认安装路径# python -m site
#查看已安装的库# pip list
#查看可升级的库# pip list -o
#升级pip版本(方法一 )# python -m pip install --upgrade pip
#升级pip版本(方法二 )# pip install -U pip
#下载XXXX库# pip install XXXX
有时候使用默认的官方网址下载安装包网速较慢,这时我们可以使用-i参数修改成从国内镜像下载安装,同时添加–trusted-host + 镜像官网。国内几个pip源网址如下:
阿里云 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 模块名 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
#查看XXXX库(已安装)的路径# pip install XXXX
#下载XXXX库(解除时间限制)# pip --default-timeout=1000 install XXXX
#卸载XXXX库# pip uninstall XXXX
#更新XXXX库# pip install --upgrade XXXX
#更新2.0版本的XXXX库(双等号中间和前后均无空格)# pip install XXXX==2.0
#强制更新XXXX库# pip install --ignore-installed XXXX
在我们安装或升级某些库(XXXX)的时候,有时会出现如下报错:
【1】Cannot uninstall ‘XXXX’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
解决方案1:找到该目录C:\Program Files\Anaconda3\Lib\site-packages下的XXXX.egg-info文件删除后,正常输入pip命令即可
解决方案2:若不存在XXXX.egg-info文件,则在正常命令中加“–ignore-installed”即可。如“pip install --upgrade XXXX”→“pip install --upgrade --ignore-installed XXXX”
【2】socket.timeout: The read operation timed out
解决方案:提示操作超时,应该输入pip --default-timeout=1000 install XXXX
另:如果更新pip提示超时,建议更换下载源(例子为豆瓣源)。输入:python -m pip install --upgrade pip -ihttp://pypi.douban.com/simple --trusted-host http://pypi.douban.com
【3】Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。: ‘C:\Users\Administrator\AppData\Local\Temp\pip-uninstall-olx6o3zb\pip.exe’
解决方案:在升级pip时提示环境错误,应该在pip命令中加入“–user”,即:修改pip更新命令为:pip install -U --user pip
【4】Import Error:cannot import name ‘tf_utils’
解决方案:在安装TensorFlow(1.5.0)和Keras(2.3.1)的时候发生的报错,原因是Keras版本过高,即:降低Keras的版本为2.1.3
【5】ERROR: XXXX-modules 0.2.7 has requirement XXXX<0.5.0,>=0.4.6, but you’ll have XXXX 0.1.9 which is incompatible.
解决方案:在安装某些库时,会出现类似上方报错,原因是XXXX库的版本不符合要求,更新XXXX库即可
【6】ERROR: XXXX 3.3.6 requires YYYY<5.13; python_version >= “3”, which is not installed.
解决方案:在安装某些库时,提示YYYY库版本需低于5.13,且python版本需为python3,则需要将YYYY库降低版本至5.12即可。命令行参考:pip install YYYY==5.12.0
【7】WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘SSLError(SSLError(1, ‘[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1123)’))’: /simple/pip/
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host=‘PyPI · The Python Package Index’, port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError(SSLError(1, ‘[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1123)’))) - skipping
解决方案:在C:/Users/Administrator/路径下,新建pip文件夹,并新建pip.ini文件,文件内容如下:
保存。并在环境变量中新增“C:/Users/Administrator/pip”即可。
【8】-bash: pip: command not found(MacOS系统)
解决方案:
先查看你有几个python(which python)
输入sudo su - 进入root权限,再重新安装pip:python -m ensurepip即可。最后ctrl+D退出root。如下图。
如果做完发现自己的pip指向了python2,那你只能寄希望于pip3了(pip3 -V)查看pip3指向哪里,如果指向了其他版本的python,果断的卸载掉多余的python吧。然后重新安装pip3。命令如下:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python3 get-pip.py
【9】WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip. Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue. To avoid this problem you can invoke Python with ‘-m pip‘ instead of running pip directly.
解决方案:
将pip3 XXX改为python3 -m pip XXX即可,如:pip3 install XXX 改为python3 -m pip install XXX