python之pip安装

pip 是最为广泛使用的 Python 包管理器,可以帮助我们获得最新的 Python 包并进行管理。

1 pip常用命令

pip常用命令如下:

命令 说明
pip install [package-name] 安装名为[package-name]的包
pip install [package-name]==X.X 安装名为[package-name]的包并指定版本X.X
pip install [package-name] --upgrade 更新名为[package-name]的包
pip uninstall [package-name] 删除名为[package-name]的包
pip list 列出当前环境下已安装的所有包
pip list --outdated 查看过时的库
pip show [package-name] 列出包的信息
pip freeze [package-name] 按requirements格式输出已安装的package列表
pip check [package-name] 验证安装的package的依赖是否安装
pip search [package-name] 在PyPI中搜索包
pip config [debug, edit, get, list, set, unset] 管理本地和全局的配置
pip cache purge 清除pip缓存,当遇到DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE,
可使用 pip cache purge
pip install --no-cache-dir xxx解决

2 pip更新

在使用pip时,pip版本过低时可能有如下报错:

You are using pip version 10.0.1, however version 20.2.2 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

修复方法:

按照提示修复即可

python -m pip install --upgrade pip

注意: python -m pip install 与 pip install 是同一种用法,差别是:有时如果没有把pip路径添加到环境变量里,直接使用pip install xxx会出错,这时我们可以把命令补全python -m pip install xxx。

3 pip换国内源

如果安装包速度慢,可以切到国内源。

国内源列表:

清华:https://pypi.tuna.tsinghua.edu.cn/simple

阿里云:http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

华中理工大学:http://pypi.hustunique.com/

山东理工大学:http://pypi.sdutlinux.org/

豆瓣:http://pypi.douban.com/simple/

换源的使用方法:

  • 临时换源:

例如安装opencv,如下即可:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python

有时遇见以下特殊情况:

ERROR:Could not find a version that satisfies the requirement opencv-python (from versions:None)
# 可采用如下方法:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn opencv-python
# 如遇到权限问题,按照提示加入–-user:
pip install  --user -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn opencv-python
  • 永久换源

也可以通过pip config工具设置镜像源:

# 设置
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set global.trusted-host pypi.tuna.tsinghua.edu.cn
pip config set global.timeout 120
# 查看
pip config get global.index-url 或
pip config list

# 删除配置
pip config unset global.index-url
或者:pip config --editor=vi edit 手动删掉先关配置即可

4 遇到No Module name xxx

一般报这种错,差什么就用pip装什么模块即可,但是非得有些模块“搞特殊”,名字与模块不对应,遇到的列举如下,后面遇到方便查看(待补充)

报错 修复
No module named 'cv2' pip install opencv-python
pip install opencv-python-headless
No module named 'PIL' pip install pillow
sklearn scikit-learn
No module named 'serial.tools' pip install pyserial
No module named 'yaml' pip install pyyaml

手动安装:

有些模块pip安装不上,可以手动下载到本地,然后copy到site-packages目录下对应的位置。

查看pip安装包的位置:

pip show [package-name]

5 pip的requirements.txt 的用法

requirements.txt主要是用来记录环境里面的依赖包和精确的版本号。

# 在某环境下记录
pip freeze > requirements.txt
# 迁移到另外一个环境中
pip install -r requirements.txt

这样做法的缺点是:会将环境中的依赖包全都加入不管是不是当前项目依赖的。

解决办法:

  1. 使用pipreqs工具

    # 安装
    pip install pipreqs
    # 扫描项目生成依赖清单,在项目的根目录下 使用 pipreqs ./
    pipreqs ./ --encoding=utf8
    # 迁移
    pip install -r requirements.txt
    
  2. 使用虚拟环境进行隔离 virtualenv 或 pipenv

参考:

  1. python 中的requirements.txt 文件的使用详情
  2. python pip安装的包放在哪里(site-packages目录的位置)
posted @ 2023-01-25 20:43  sureZ_ok  阅读(1968)  评论(0编辑  收藏  举报