FAQ 关于pip你应该知道的一些技巧
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 典型问题
安装超时的处理
多数是因为网络问题
往往会提示你升级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]]
最新文章
- WAV文件头相关资料
- jQuery实现折叠下拉效果
- Head First 设计模式 --4 工厂模式 抽象工厂模式
- 在Windows上,如何卸载RabbitMQ服务
- em(倍)与px的区别(转载)
- hdu-1272 并查集
- UDP数据接收服务器
- mini-httpd源码分析-match.h
- (C)高级排序法
- spring整合flex
- java中的volatile关键字
- 创建Properties文件
- jmockit学习总结
- C#利用Attribute实现简易AOP介绍
- maven的安装及配置
- java.util(Date和Calendar)
- 利用StringEscapeUtils来转义和反转义html/xml/javascript中的特殊字符
- Linux命令行烧录树莓派镜像至SD卡
- c语言可变参
- Web处理方式
热门文章
- 【CVE-2022-0543】Redis Lua沙盒绕过命令执行复现
- c++ *和&; 指针,取内容,别名,取地址
- 系统内置APK并签名并配置AndroidStudio
- MySQL遇到的坑:sql_mode=only_full_group_by不兼容
- laravel框架 url地址传参
- 第2-4-5章 规则引擎Drools高级语法-业务规则管理系统-组件化-中台
- Dojo dijit/Tree的使用以及样式设置
- 【每日一题】【栈和队列、双端队列】20. 有效的括号/NC52 有效括号序列-211127/220126
- node版本管理工具fnm踩坑
- 利用云服务提供商的免费证书,在服务器上发布https前端应用和WebAPI的应用