什么是pip,pip 是python的包管理器,它支持安装不包含在该语言标准库中的包,它等价于JavaScript的npm
、java中的maven
。使用该工具我们可以实现对python包的查找、下载、安装、更新、卸载。
pip这个名字是由Ian Bicking在2008年提出的:
I’ve finished renaming pyinstall to its new name: pip. The name pip is [an] acronym and declaration: pip installs packages. (Source)
我已经将pyinstall重命名为它的新名称:pip。名称pip是缩写和声明:pip安装包。
pip --version
python -V
python 解释器从3.4和2.7.9版本开始就包含了PIP,而且安装是默认勾上的。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oGwQcuEL-1665845018048)(https://typorahq.oss-cn-hangzhou.aliyuncs.com/picpicimage-20220914080158781.png)]
若当时安装解释器取消了勾选PIP或python版本太低,不自带pip可以采用如下方法安装
1.重新安装新的python 解释器
day01-Python环境搭建
2.通过ensurepip模块,在Python环境中安装pip
cmd
python -m ensurepip --upgrade
我电脑上已经有pip了
get-pip.py
python get-pip.py
也可以直接参考: pip 官网安装文档
python -m pip install SomePackage # 最新版本
python -m pip install SomePackage==1.0.4 # 指定版本
python -m pip install 'SomePackage>=1.0.4' # 最小版本
python -m pip uninstall package_name
# requirements.txt
pandas==1.0.0
pyspark
python -m pip install -r requirements.txt
python -m pip list
python -m pip install package_name --upgrade
python -m pip freeze > requirements.txt && python -m pip uninstall -r requirements.txt -y
不通过创建requirements.txt 卸载pip安装的包
python -m pip uninstall -y -r <(pip freeze)
python -m pip check
python -m pip show package_name
python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ numpy
从清华大学镜像中安装numpy包
通过pip config命令我们可以对pip的一些默认配置做修改,实现自定义配置:如设置国内的镜像源为清华大学
python -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
通过pip.ini
文件实现设置永久生效
在以下路径下添加配置文件pip.ini
实现
1.系统级别的配置文件C:\ProgramData\pip\pip.ini
2.用户级别的配置
%APPDATA%\pip\pip.ini
或者
%HOME%\pip\pip.ini
APPDATA 、HOME是windows的环境变量,可以通过以下命令查看自己电脑的环境变量
也可以通过
pip config list -vv
来获取配置文件路径
pip config list -vv
在以上三个目录任意一个新建pip.ini文件,并在文件中中添加以下内容就可以不用在命令行中指定镜像了。
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn # trusted-host 此参数是为了避免麻烦,否则使用的时候可能会提示不受信任
python 并不擅长依赖的管理,通过虚拟环境用于实现不同工程之间的的隔离,我们的工程中总会用到不同的第三方包,如果这些包都安装在一个相同的环境中(默认是在python解释器下的Lib\site-packages
路径下), 他们可能会产生冲突,且一个解释器下只能安装一个包的版本。
举例:我在python解释器安装目录下安装了numpy
的1.23.4
我重新执行安装numpy
的其他版本
pip install numpy=1.23.2
重新查看已经安装的包,发现覆盖了之前的numpy1.23.4
版本
pip list
但我们通过虚拟环境配置,就可以实现不同过程依赖包的不同版本
以windows为列:
命令行创建
python -m venv <enname>
示例我在D盘下创建了一个名字叫myenv_project
的虚拟环境,
进入虚拟环境\Scripts所在目录cmd下执行activate
命令
虚拟环境中执行pip命令安装
pip install numpy==1.23.1
这样我们通过在虚拟环境中安装numpy1.23.1就隔离了与numpy1.23.2冲突了。
pythondeactivate
当然 上述的虚拟环境的创建、包的导入都是通过命令行的方式实现的,其实通过第三方工具类如( virtualenv 、poetry、pipenv等)是可以很方便的对虚拟环境的管理。而pycharm里也集成了虚拟环境的管理。
Python Virtual Environments: A Primer
pip官网