Python界虚拟环境第三把神器,你不知道就out啦!

菜鸟学Python

共 2554字,需浏览 6分钟

 ·

2020-11-30 13:50

点击上方“菜鸟学Python”,选“星标”公众号

重磅干货,第一时间送达



众所周知,Python 因为有着强大的第三方包扩展,所以开发应用非常的便捷,但是不同包的版本依赖问题是一个很头痛的问题,为此 Python 出现了各种环境管理工具,通过它们我们可以隔离出一个独立的 Python 环境,也就是不同项目采用不同的环境。


Python 界常见的虚拟环境管理工具有 virtualenv 和 pipenv ,二者各有千秋:

  • virtualenv 不能动态更新 requirements.txt,所以pipenv 诞生了;
  • pipenv 可以看成是 pip+virtualenv 两款工具的合体,它使用 Pipfile 替代原来 requirements.txt 记录依赖包信息 ;
  • pipenv 如何使用可以参考之前写的(再见 virtualenv!K神教你轻松管理多个Python环境)


01.神器poetry

poetry 的依赖处理效果更强大一些。poetry 在遇到依赖限定条件时,poetry 会尝试找出解决方案,找到可以满足所有相互依赖关系的要求,然后成功安装依赖包。


poetry 卸载包的时候,直接卸载孤立的子依赖,不需要像 pipenv 那样需要再执行 pipenv clean 。



02.如何安装


poetry 提供了一个自定义安装程序,该安装程序将通过供应其依赖项来安装与系统其余部分隔离。这是官方推荐的 poetry 安装方法。

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python

如果不用代理, 执行 curl 指令某些地区可能会很慢。也可以用 pip 安装(不过 poetry 官方文档不建议这么做,因为有可能会造成依赖冲突):

pip install poetry

安装之后可以使用下面指令查看安装是否成功

study_poetry poetry --version
poetry version 1.1.4 # 显示poetry安装的版本


03.poetry 基本配置


1).在已有项目使用 poetry

如果你是在一个已有的项目里使用 poetry,你只需要执行 poetry init 命令来创建一个 pyproject.toml 文件:

poetry init

根据它的提示输入你的项目信息,不确定的内容就按下 Enter 使用默认值,后续也可以手动更新。指定依赖的环节可以跳过,手动安装会更高效一点。

2).创建一个新的 Python 项目

如果你想创建一个新的 Python 项目,使用 poetry new <项目名称> 命令可以创建一个项目模板:

3).更换国内镜像源

在 pyproject.toml 配置文件中添加国内镜像源地址配置,提高下载速度。



04.常见的操作示例


1).安装和卸载Python第三方包

安装第三方包语法和 pipenv 指令类似, 执行 poetry add 包名即可,安装 requests 的指令如下:

在开发环境下我们要安装 pytest 这样的库,这些在生产环境其实是用不上的,所以没必要记录到 pyproject.toml  中,那么我们在安装某个包的时候加个参数 —dev,表示只安装在开发环境,安装包记录是在[tool.poetry.dev-dependencies]部分。

在开发环境下我们要安装 pytest 这样的库,这些在生产环境其实是用不上的,所以没必要记录到 pyproject.toml  中,那么我们在安装某个包的时候加个参数 —dev,表示只安装在开发环境,安装包记录是在[tool.poetry.dev-dependencies]部分。

使用 remove 即可卸载指定的第三方包,例如执行 poetry remove django 卸载 django


2).查看项目环境所安装的第三方库

执行 poetry show —tree 就会列出你所安装的第三方包的名称、版本信息以及第三方包的简介,还能查看各个库之间的依赖关系。


3).运行 Python 脚本

切换到项目中 pyproject.toml 同级目录下, 执行 peotry run python 脚本文件即可。


4).显示虚拟环境信息

执行 poetry env list --full-path 即可查看虚拟环境所在的绝对路径

执行 peotry env info 查看虚拟环境的详细信息



05.Pycharm 中使用 poetry 

找到虚拟环境文件夹所在位置,并选中 bin 目录下的 Python 后,就可以用 Pycharm 引入虚拟环境了


poetry 提供了一套当前最为完善的 Python 依赖包管理解决方案。相对与当前的pip、pipenv具有很多显而易见的优势,如果喜欢尝鲜,可以尝试使用 poetry 替换 pip+virtualenv 或者 pipenv 进行依赖包管理和虚拟环境管理。


有兴趣的小伙伴,可以安装试一下哦!欢迎在留言区点评,吱一声哈!




爆款文案


每个程序员都是从菜鸟开始成长起来的,没有人生下来就是程序员高手。菜鸟编程大本营,专注于分享趣味的编程技巧,不限于Java, Python ,Go, Javascript等语言,让菜鸟爱上编程,进阶成为高手。


菜鸟编程本营,从菜鸟进阶高手

点这里,获取新手福利


浏览 17
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报