pip参考文档 (https://pip.pypa.io/en/stable/getting-started/)
下面三点很重要,放在了最前面。
python -m pip
替代pip
,避免使用其它版本Python的pip
,导致安装到错误的位置。可以用pip -V
查看pip版本和所在位置。conda
和pip
以安装requests为例,说明pip安装的几种方法。通常方法1就够了。
pip install requests
使用国内的网站(清华源)下载:
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
或者用Pypi源: https://pypi.python.org/simple
pip install requests-2.22.0-py2.py3-none-any.whl
pip install git+https://github.com/psf/requests.git
pip install /home/user/src/requests
现在无法直接用pip search
,需要先安装pip_search
:
pip install pip_search
。
使用pip_search
搜索可用的包版本:
pip_search requests
pip install requests==2.22.0
pip install requests>=2.22.0,<3
pip install requests!=2.21.0
查看包的详细信息,包括包的位置:
pip show requests
查看安装过的所有包:
pip list
python -m site
将当前环境的包导出到requirements.txt
pip freeze > requirements.txt
将requirements.txt发到另一台电脑,可以在另一台电脑上安装这些包:
pip install -r requirements.txt
下载某个包及其依赖:
pip download <package>
或
pip download package_name -d "要保存的文件路径"
有时候某个包安装到一半出错了,但是已经创建了目录,pip会认为已经安装了,无法通过install正常安装,可以用--force-reinstall
命令强制安装。
例如:强制重新安装requests
、不使用缓存、使用清华源:
pip install --force-reinstall --no-cache-dir -i https://pypi.tuna.tsinghua.edu.cn/simple requests
1.将某个包及其依赖变成wheels,并存到/tmp/wheelhouse
文件夹:
pip wheel --wheel-dir=/tmp/wheelhouse SomePackage
相应的,安装创建的wheels:
pip install --no-index --find-links=/tmp/wheelhouse SomePackage
2.多个包,可以写入requirements.txt,然后使用下面命令创建wheel:
pip wheel --wheel-dir wheelhouse -r requirements.txt
下面是使用pip时容易出现的问题。
超时.png
从一些网站下载包时可能出现超时,解决方法是用换源,或者手动下载wheel并安装。
很多时候在默认环境安装了包,然后再另一个虚拟环境使用包,就会发现用不了。或者你确实在虚拟环境安装了包,但是使用的是默认环境的pip,安装在默认环境。
所以在虚拟环境里最好用python -m pip
替代pip
命令。
假设我在安装scrapy
过程中网络断开或者断电,导致安装失败,但是用pip install
再安装时pip
会发现已经有了这个包,不会重新安装。
这个时候需要强制重装: pip install --force-reinstall --no-cache-dir scrapy
如果升级pip过程中失败了(升级pip时忘了加--user
导致权限不够;或者断网、断电;),旧的pip卸载了,新的pip还没装上,pip就消失了:
pip升级失败.png
那么问题来了,我们用pip安装各种包(包括pip本身),现在pip没了,该用什么安装pip呢?如果你安装了conda,可以通过conda重装: conda install -f pip
如果没有conda,情况会比较麻烦:你需要下载get-pip.py
文件:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
然后运行安装脚本安装pip:
python get-pip.py
除了上面的4个常见问题,还有一些不太常见的问题。
anaconda3/pkgs
pip 安装到当前Python环境下的包:anaconda3/envs/current_env/lib/python3.x/site-packages