前言
本文详细介绍了poetry的安装步骤,以及更换其虚拟环境的步骤,喜欢的话可以点赞+收藏+关注( ̄︶ ̄)↗ 喜欢本文章的话,后面再出一篇poetry配置详解。
一、什么是Poetry🎁
Poetry 是一个用于 Python 依赖管理和打包的工具。它允许您声明项目所依赖的库,并为您管理(安装/更新)它们。Poetry 提供了一个lockfile以确保可重复的安装,并且可以为您的项目构建分发版本。
Poetry、Pipenv和Virtualenv
Poetry、Pipenv和Virtualenv都是Python的依赖管理和打包工具,但它们各有特点。Poetry是最新的工具,被认为是当前最为完善的Python依赖包管理解决方案,它提供了锁定文件以确保可重复的安装,并且可以为您的项目构建分发版本。而Pipenv结合了Pipefile和虚拟环境的功能,提供了更高级的功能并且更方便实用。
Virtualenv则是一个独立的虚拟环境管理器,它可以创建和管理虚拟环境,使得不同的项目可以拥有各自独立的Python运行环境。
Pipenv收获了很多用户,但是也暴露了很多问题,比如Lock太慢、Windows支持不好和bug太多的问题。相比之下,虽然Poetry相对较新,但它已经被许多开发者认为是一个更好的选择。总的来说,这些工具各有优缺点,开发者可以根据自己的需求和喜好来选择合适的工具。
二、安装Poetry的方式✨
系统要求
Poetry requires Python 3.8+. It is multi-platform and the goal is to make it work equally well on Linux, macOS and Windows.
必须要求python是3.8版本以上的
官方推荐的几种安装方式安装
方式一:
在windows的powershell中输入
shell
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
方式二:
Linux, macOS, Windows (WSL)
bash
curl -sSL https://install.python-poetry.org | python3 -
官方文档中还有几种方式,其中就有pipx,本文使用的方式就是使用pipx进行安装
三、使用pipx进行安装🎟
本人使用的是pipx安装的poetry,如果你没有pipx,可以使用pip进行安装,在儿为什么使用pipx呢,本人试过在powerShell中安装,根本动不了。。。。
先安装pipx,如果已经安装过了,此步跳过
shell
pip install pipx
pipx安装成功后,安装poetry
shell
pipx install poetry
安装完成后,它会提示你没有将poetry添加到环境变量中,我们手动添加到系统环境变量中
添加到系统变量的PATH中
测试
PowerShell中输入
shell
poetry -V
四、在Pycharm中使用Poetry🎊
工程创建完成,顺带换个源,在pyproject.toml文件末尾添加
toml
[[tool.poetry.source]]
name = "aliyun"
url = "http://mirrors.aliyun.com/pypi/simple"
default = true
不知道为什么,我在pycharm的控制台中使用poetry命令就报错,直接提示我没有该命令,但是不在pycharm的控制台中使用又没有问题。
安装个requests库试试
五、修改Poetry虚拟环境位置🎏
使用Poetry创建虚拟环境时,默认的情况是将虚拟环境创建在c盘下,所以可以修改Poetry的virtualenvs.path的配置。
展示所有配置
shell
poetry config --list
修改路径
shell
poetry config virtualenvs.path 你自己想要修改的路径
如何修改其它配置
以virtualenvs.path举例
想要修改配置就使用poetry config virtualenvs.path 需要修改的值
想要恢复默认值就使用poetry config virtualenvs.path --unset
poetry的基本安装教程就到此结束了,本人之前一直用的pipenv,其实也感觉还行,就是有些时候报错报的莫名其妙的,重新弄一下又好了,今天创建python工程的时候看见选择虚拟环境的选项中多了个poetry,就想弄着玩儿玩儿,才开始,我直接用pip安装的,但是有点问题,没有在pip的site-package中找到poetry.exe(可能是没看见),然后又用了官方推荐的在powershell中安装,一直没反应,然后才使用的pipx,一下就弄好了,这些包管理工具,使用方法都大差不差,就命令不同,不知道的,看看文档也就解决了。