FAQ 关于pip你应该知道的一些技巧

faq,关于,pip,应该,知道,一些,技巧 · 浏览次数 : 145

小编点评

**安装指定版本软件包的步骤:** 1. 下载软件包文件。 2. 将软件包文件放到指定目录中。 3. 使用以下命令安装软件包: ``` pip install -r requirements.txt ``` **注意:** - 在安装软件包之前,确保你已配置了本地安装源。 - 如果你有多解释器,请注意切换到正确的解释器。 - 安装完成后,可以使用 `pip list` 命令列出所有安装的库。

正文

pip简介

  • pip是安装了python之后的一个应用程序,包管理程序,有点类似于yum、npm、apt等工具

  • 物理位置一般是python.exe所在目录下的scripts下

    • 以我为例,我Python安装在D:\Python39\下,那么pip就在D:\Python39\Scripts

    • 而这个工具所在的目录应该也在你系统的PATH中,否则你敲pip也无法调用它

    • pip.exe(windows物理文件名),别名还有pip3.exe和pip3.9.exe

  • python的包管理程序其实也有不少,比如PDM等

pip命令行

  • 命令行帮助(你可以跳过,仅作为参考即可)

 C:\Users\songqin008>pip --help
 
 Usage:
  pip <command> [options]
 
 Commands:
  install                     Install packages.
  download                   Download packages.
  uninstall                   Uninstall packages.
  freeze                     Output installed packages in requirements format.
  inspect                     Inspect the python environment.
  list                       List installed packages.
  show                       Show information about installed packages.
  check                       Verify installed packages have compatible dependencies.
  config                     Manage local and global configuration.
  search                     Search PyPI for packages.
  cache                       Inspect and manage pip's wheel cache.
  index                       Inspect information available from package indexes.
  wheel                       Build wheels from your requirements.
  hash                       Compute hashes of package archives.
  completion                 A helper command used for command completion.
  debug                       Show information useful for debugging.
  help                       Show help for commands.
 
 General Options:
   -h, --help                 Show help.
   --debug                     Let unhandled exceptions propagate outside the main subroutine, instead of logging them
                              to stderr.
   --isolated                 Run pip in an isolated mode, ignoring environment variables and user configuration.
   --require-virtualenv       Allow pip to only run in a virtual environment; exit with an error otherwise.
   -v, --verbose               Give more output. Option is additive, and can be used up to 3 times.
   -V, --version               Show version and exit.
   -q, --quiet                 Give less output. Option is additive, and can be used up to 3 times (corresponding to
                              WARNING, ERROR, and CRITICAL logging levels).
   --log <path>               Path to a verbose appending log.
   --no-input                 Disable prompting for input.
   --proxy <proxy>             Specify a proxy in the form scheme://[user:passwd@]proxy.server:port.
   --retries <retries>         Maximum number of retries each connection should attempt (default 5 times).
   --timeout <sec>             Set the socket timeout (default 15 seconds).
   --exists-action <action>   Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup,
                              (a)bort.
   --trusted-host <hostname>   Mark this host or host:port pair as trusted, even though it does not have valid or any
                              HTTPS.
   --cert <path>               Path to PEM-encoded CA certificate bundle. If provided, overrides the default. See 'SSL
                              Certificate Verification' in pip documentation for more information.
   --client-cert <path>       Path to SSL client certificate, a single file containing the private key and the
                              certificate in PEM format.
   --cache-dir <dir>           Store the cache data in <dir>.
   --no-cache-dir             Disable the cache.
   --disable-pip-version-check
                              Don't periodically check PyPI to determine whether a new version of pip is available for
                              download. Implied with --no-index.
   --no-color                 Suppress colored output.
   --no-python-version-warning
                              Silence deprecation warnings for upcoming unsupported Pythons.
   --use-feature <feature>     Enable new functionality, that may be backward incompatible.
   --use-deprecated <feature> Enable deprecated functionality, that will be removed in the future.

pip install 安装包

  • 这应该是用的比较多的一条命令

  • 典型的用法主要是

 pip  install   selenium  #又称软件包名
 
 pip install   selenium -i 安装源  # 手工临时指定安装源
 
 pip install    selenium==4.4.0  # 安装指定版本的软件包
  • 典型的安装源

地址
清华 https://pypi.tuna.tsinghua.edu.cn/simple/
豆瓣 http://pypi.doubanio.com/simple/
腾讯 https://mirrors.cloud.tencent.com/pypi/simple/
阿里云 https://mirrors.aliyun.com/pypi/simple/
   

 

pip list 列出当前解释器下的库

 C:\Users\songqin008>pip list
 Package               Version
 --------------------- -----------
 adbutils              0.13.1
 aiohttp               3.8.1
  • windows下可以通过findstr来过滤,linux下可以通过grep来过滤

pip show 查看某个库的信息

 C:\Users\songqin008>pip show selenium
 Name: selenium
 Version: 4.3.0
 Summary:
 Home-page: https://www.selenium.dev
 Author:
 Author-email:
 License: Apache 2.0
 Location: d:\python39\lib\site-packages
 Requires: trio, trio-websocket, urllib3
 Required-by: Appium-Python-Client, squitool, webdriver-helper
  • 关注

    • 版本:version

    • 依赖:requires

    • 被依赖:required-by

    •  

pip config 配置默认仓库

  • 这是一条容易被忽略的命令

  • 其实我们只需执行一次,后续就无需手工-i指定安装源了

 pip config set global.index-url http://pypi.tuna.tsinghua.edu.cn/simple
 
 pip config set global.trusted-host pypi.tuna.tsinghua.edu.cn/simple
  • 设置完成其实是在你本机生成一个文件(一般是家目录下的.pip隐藏目录下),pip.ini(win)或pip.conf(linux)

  • 内容大致如下

 [global]
 
 index-url = http://pypi.tuna.tsinghua.edu.cn/simple
 
 trusted-host = pypi.tuna.tsinghua.edu.cn
 
  • 换言之,你也可以自己手工写入如上内容

pip freeze 导出包信息

  • 导出当前解释器下的所有库,常用来移植

  • 命令行执行

 C:\Users\songqin008>pip freeze >requirements.txt
  • 文件内容大致如下

 adbutils==0.13.1
 aiohttp==3.8.1
 aiosignal==1.2.0
 akshare==1.4.17
 allure-pytest==2.9.45
 allure-python-commons==2.9.45
 anyio==3.5.0
 apkutils2==1.0.0
 Appium-Python-Client==2.6.0
 argon2-cffi==21.3.0
 argon2-cffi-bindings==21.2.0
  • 可以通过pip install -r requirements.txt来批量安装这些库

 - 你同样可以通过pip uninstall -r xxx.txt 来批量卸载

- requirements.txt是个约定,不是非要叫这个名字

pip 典型问题

安装超时的处理

  • 多数是因为网络问题

  • 往往会提示你升级pip的版本

python -m pip install --upgrade pip
  • 也有可能是你没配置本地安装源,直接用的pypi(出国了),那你可以使用pip config来配置下。或者用pip install -i 来指定安装源。

  • 有的时候选择了安装源也无法安装,那可以从pypi下载源文件,解压后通过以下命令来安装

python setup.py install   # 安装
  • 除了setup.py还有whl文件也可以安装

pip install xxxx.whl

安装成功但没看到

  • 注意pip list前面我说的功能是列出当前解释器下的包

  • 如果你有多个环境那么你只会选择当前的

  • 以我本机为例,我就装了多个python环境,那么你pip list默认列出的就是第一个解释器(39)下的库。

C:\Users\songqin008>where pip
D:\Python39\Scripts\pip.exe
D:\Python37\Scripts\pip.exe
D:\anaconda3\Scripts\pip.exe
C:\Python310\Scripts\pip.exe
  • 看下面2个命令的输出,库是不一样的。

C:\Users\songqin008>pip3.7 list|findstr selenium
selenium                          3.141.0


C:\Users\songqin008>pip3.9 list|findstr selenium
selenium              4.3.0
  • 所以大家在安装的时候务必要注意,如果你有多解释器(有的有虚拟环境),那么你用cmd的时候一定要注意是否要切换。

  • 初学者可以用pycharm这样的图形化IDE来安装,也是比较稳妥的。 ![[Pasted image 20220816091115.png]]

与FAQ 关于pip你应该知道的一些技巧相似的内容:

FAQ 关于pip你应该知道的一些技巧

pip简介 pip是安装了python之后的一个应用程序,包管理程序,有点类似于yum、npm、apt等工具 物理位置一般是python.exe所在目录下的scripts下 以我为例,我Python安装在D:\Python39\下,那么pip就在D:\Python39\Scripts 而这个工具所在

【FAQ】关于华为地图服务定位存在偏差的原因及解决办法

一、 问题描述: 华为地图服务“我的位置”能力,在中国大陆地区,向用户展示他们在地图上的当前位置与用户的实际位置存在较大的偏差。 具体差别可以查看下方的图片: 二、 偏差较大的原因: 华为Map SDK在中国大陆使用的地理坐标系是GCJ02。 点击“我的位置”控件,获取的定位经纬度的地理坐标系是WG

【FAQ】关于华为推送服务因营销消息频次管控导致服务通讯类消息下发失败的解决方案

一. 问题描述 使用华为推送服务下发IM消息时,下发消息请求成功且code码为80000000,但是手机总是收不到消息; 在华为推送自助分析(Beta)平台查看发现,消息发送触发了频控。 二. 问题原因及背景 2023年1月05日起,华为推送服务对咨询营销类消息做了单个设备每日推送数量上限管理,具体

【FAQ】关于JavaScript版本的华为地图服务Map的点击事件与Marker的点击事件存在冲突的解决方案

一. 问题描述 创建地图对象,并添加marker标记,对map和marker均添加了点击事件;

【FAQ】关于华为地图服务定位存在偏差的原因及解决办法(二)——仅适用于Location 6.7.0.300及之后的版本

### 一、 问题描述: 华为地图服务“我的位置”能力,在中国大陆地区,向用户展示他们在地图上的当前位置与用户的实际位置存在较大的偏差。 具体差别可以查看下方的图片: ![image](https://img2023.cnblogs.com/blog/2396482/202306/2396482-2

【FAQ】关于CP反馈的联运应用的常见结算问题小结

### 问题一:为什么在“我的账户”>>“收益”里面的金额和支付报表中的金额对不上 ? 关于联运类应用付费产品在华为平台上结算问题,您可以详细参考一下“[华为商户服务协议](https://developer.huawei.com/consumer/cn/doc/start/merchantserv

【FAQ】关于无法判断和区分用户与地图交互手势类型的解决办法

### 一. 问题描述 当用户通过缩放手势、平移手势、倾斜手势和旋转手势与地图交互,控制地图移动改变其可见区域时,华为地图SDK没有提供直接获取用户手势类型的API。 ### 二. 解决方案 1. 华为地图SDK的地图相机有提供CameraPosition类,此类包括所有相机位置参数,如位置、方位、

【FAQ】关于获取运动健康数据的常见问题及解答

目录 一、Health Kit健康数据采样, 原子采样数据问题 二、Health Kit查询历史数据查询数据和返回数据不一致 三、Health Kit关于获取历史数据问题 四、调用Health Kit接口出现获取不到数据的情况 问题解答 Q1:Health Kit健康数据采样, 原子采样数据问题 【

【FAQ】统一扫码服务常见问题及解答

1.隐私政策是怎么样的?收集哪些信息? 关于Scan Kit的隐私政策及收集的信息,请查看SDK隐私安全说明。 Android:SDK隐私安全说明 iOS:SDK隐私安全说明 2.如何使用多码识别?多码模式下如何实现指定条码?多码模式的坐标支持返回坐标么?多码模式下实现自动放大? 1)统一扫码服务支

CANN开发实践:4个DVPP内存问题的典型案例解读

摘要:由于DVPP媒体数据处理功能对存放输入、输出数据的内存有更高的要求(例如,内存首地址128字节对齐),因此需调用专用的内存申请接口,那么本期就分享几个关于DVPP内存问题的典型案例,并给出原因分析及解决方法。 本文分享自华为云社区《FAQ_DVPP内存问题案例》,作者:昇腾CANN。 DVPP