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]]