三方包
- 常见已发布三方包和模块的形式
- 安装方式
- 对于单文件模块
- 对于带setup.py的文件
- 对于.egg的文件
- 对于.whl的文件
- 远程安装
- easy_install
- 多个python版本的切换安装
- 安装指定版本的包
- 升级三方包
- 卸载三方包
- 切换安装源
- pip
- 切换安装源
- 多个python版本的切换安装
- 查看包
- 安装特定版本
- 升级包
- 卸载包
- 生成冻结需求文本
- 三方包和模块的版本规则
标准模块有时不能满足我们的需求时使用三方模块
标准模块由官方发布,使用可靠,有健全的使用文档说明
三方模块由网友提供,更新不及时
安装方式:
- 源码安装,自己手动去某个地方下载,再安装到本地。
- 包管理器安装,更加简单的自动化的为用户安装管理包和模块,只需要一个或几个命令就可以完成
常见已发布三方包和模块的形式
- 源码,单文件模块,多文件模块,由包管理工具发布的项目。基于distutils
工具发布的项目特性,包含setup.py。setuptools也是基于distutils - .egg,setuptools引入的一种格式,setuptools可以识别安装它
- .whl,本质为zip格式,是为了替代egg
包托管网站:pypi
安装方式
本地安装
- 对于单文件模块,直接copy到相关文件夹即可安装 对于带setup.py的文件,通过setup.py脚本即可安装
- .egg文件,使用setuptools的自带的安装脚本easy_install进行安装
- .whl,使用pip进行安装
远程安装
安装源
- python 官方
- 豆瓣
- [阿里]
- [中国科学技术大学]
对于单文件模块
存放位置,sys.path中所包含的路径都可以。一般存放在C:\Users\wqr57\AppData\Local\Programs\Python\Python37\Lib\site-packages
对于带setup.py的文件
- 打开命令行工具
- 切换到setup.py文件所在的目录
- 执行python3 setup.py install
如果项目是使用distutils打包的,上述命令可以直接使用
如果项目是使用 setuptools 打包的,上述命令可能会报错,需要先安装setuptools
对于.egg的文件
使用setuptools的自带的安装脚本easy_install进行安装,要求先安装setuptools
语法:easy_install xxx.egg
对于.whl的文件
使用easy_install安装,easy_install xxx.whl
使用pip进行安装,pip instll xxx.whl
远程安装
easy_install xxx
pip install xxx
默认从pypi 下载包安装到本地,一般安装在Lib/site_packages
easy_install
官方文档easyinstall
多个python版本的切换安装
easy_install-N.N, N.N用于指明python 版本
例如python3.6. 3则 easy_install-3.6 requests
安装指定版本的包
easy_install “库名 限定符 版本[, 限定符 版本]”
中括号代表并且,可选
限定符 < > <= >= ==
easy_install “requests >= 2.14.1” 安装大于或等于2.14.1版本的最新包
easy_install “requests >1.0, < 2.0” 安装大于1.0, 且小于2.0的包
easy_install “requests = = 2.14.1” 安装2.14.1版本的包,如果已经安装则切换到这个版本
升级三方包
easy_install --update(-U) 库名
卸载三方包
方式1:手动卸载
- 删除在easy_install.pth 中的包记录
- 删除对应的包文件
方式2:easy_install -m 包名
-m 的含义, 支持多个包版本,可在运行时进行切换,不直接指明包的版本,使得用户无法直接导入,删除easy_install.pth 中的包记录
如果用户想要使用某个版本:
import pkg_resources
pkg_resources.require("requests == 2.17.3")
import requests
easy_install.pth 作用
- 记录着当前通过easy_install已经安装的模块,多个版本的模块只记录最后一次安装的模块
- 用于导入模块时的路径检索
切换安装源
easy_install 修改文件 setuptools\command\easy_install.py中的 https://pypi.org/simple/
pip
官方网站
切换安装源
一次性修改
pip install --index-url https://pypi.doubanio.com/simple/ requests
- 扩展检索,除了到官方的pypi检索,也会到扩展的地址检索
pip install --extra-index-url https://pypi.doubanio.com/simple/ requests
永久性修改
在C:\Users\wqr57/ 创建pip文件夹,在pip文件夹中创建pip.ini
pip.ini:
[global]
index-url=https://pypi.doubanio.com/simple/
[install]
trusted-host=pypi.doubanio.com
多个python版本的切换安装
方式1
python -m pip install requests
python3 -m pip install requests
方式2
py -2 -m pip install requests
py -3 -m pip install requests
python 安装包实际在系统中安装了一个启动器py.exe
C:\Windows\py.exe
启动器可以调用不同版本的python去执行某些脚本py -3
查看包
所有已经安装的包
pip list
不被依赖的包
pip list --not-required
过期的包
pip list --outdated
包的信息
pip show requests
检索包
pip search XXX
pip search -i 检索地址 XXX
安装特定版本
pip install "requests == 2.18"
pip install "requests > 2.0"
pip install "requests > 2.0, < 3.0"
升级包
pip install --upgrade XXX
卸载包
pip uninstall XXX
生成冻结需求文本
可以将当前安装的三方包记录,存储到指定的文件当中,以后可以根据这个需求文本,去安装三方包
生成冻结需求的文本:
pip freeze > ./requirements.txt
根据冻结需求文本安装:
pip install -r requirements.txt
三方包和模块的版本规则
n1.n2.n3
n1:修改了之前的功能,或者添加了一个功能,修改了之前的api
n2:新增某一个小功能
n3: 版本bug修复
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)