python 包和模块 三方包

2023-05-16

三方包

  • 常见已发布三方包和模块的形式
  • 安装方式
    • 对于单文件模块
    • 对于带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进行安装

远程安装

  • easy_install
  • pip
  • pycharm

安装源

  • 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(使用前将#替换为@)

python 包和模块 三方包 的相关文章

随机推荐