pip常用命令和一些坑
前言: 你是否还为pip安装速度慢甚至超时而烦恼? 明明安装了一个包,导入时却提示没有? ......
pip参考文档
注意事项
下面三点很重要,放在了最前面。
- 如果有多个python版本(比如你在使用虚拟环境),使用python -m pip替代pip,避免使用其它版本Python的pip,导致安装到错误的位置。可以用pip -V 查看pip版本和所在位置。
- 最好不要混用conda和pip
- 由于网络特色,我们无法访问很多网站。为了正常使用(不出现timeout),需要换成国内的源,具体方法参考(https://mirrors.tuna.tsinghua.edu.cn/help/pypi/)或者自行百度 pip 换源。 此外,如果你使用conda,也需要换源(conda的换源参考 https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/)。
pip 常用命令
安装
以安装requests为例,说明pip安装的几种方法。通常方法1就够了。 1.从PyPI安装: pip install requests 使用国内的网站(清华源)下载: pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple 或者用Pypi源: https://pypi.python.org/simple 2.安装.whl 有时候,没法从pip直接安装,可以去下载whl文件,然后通过下面语句安装: pip install requests-2.22.0-py2.py3-none-any.whl
3.从git仓库安装: $ pip install git+https://github.com/psf/requests.git 4.从目录安装: 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
导出当前环境的包 FREEZING
将当前环境的包导出到requirements.txt pip freeze > requirements.txt 将requirements.txt发到另一台电脑,可以在另一台电脑上安装这些包: pip install -r requirements.txt
一些可能用不到的东西
下载
下载某个包及其依赖 pip download <package>
强制重新安装
有时候某个包安装到一半出错了,但是已经创建了目录,pip会认为已经安装了,无法通过install正常安装,可以用--force-reinstall命令强制安装。 例如: 强制重新安装requests、不使用缓存、使用清华源:
pip install --force-reinstall --no-cache-dir -i https://pypi.tuna.tsinghua.edu.cn/simple requests
WHEELS
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
踩坑实例
下面为大家演示一些常见的错误。
1. 超时 Timeout
2. 安装的包不见了!
很多时候在默认环境安装了包,然后再另一个虚拟环境使用包,就会发现用不了。
或者你确实在虚拟环境安装了包,但是使用的是默认环境的pip,安装在默认环境。
所以在虚拟环境里最好用python -m pip 替代pip命令。
3. 安装失败后,重装
假设我在安装scrapy过程中网络断开或者断电,导致安装失败,但是用pip install再安装时pip会发现已经有了这个包,不会重新安装。 这个时候需要强制重装: pip install --force-reinstall --no-cache-dir scrapy
4. 重量级——升级pip过程中失败
如果升级pip过程中失败了(升级pip时忘了加--user导致权限不够;或者断网、断电;),旧的pip卸载了,新的pip还没装上,pip就消失了:
那么问题来了,我们用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
其它注意事项
- conda 和 pip 的区别 https://www.zhihu.com/question/395145313/answer/2449421755 pip install 和conda install的区别 简单来说,安装位置不同: conda安装到 anaconda3/pkgs pip 安装到当前Python环境下的包:anaconda3/envs/current_env/lib/python3.x/site-packages