笔记:Poetry 的配置使用

温温
2021-01-14 / 0 评论 / 684 阅读 / 正在检测是否收录...

前导:PIP的配置

增加 PIP的配置文件

(1)新建pip配置文件夹,直接在user用户目录中创建一个名为 pip的文件夹( 即%HOMEPATH%pip)。

(2)接着在 pip 文件夹中创建一个名为 pip 的文本文件(后缀名由" .txt "改为 " .ini "),格式如下所示:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn # trusted-host

备用:阿里云:http://mirrors.aliyun.com/pypi/simple/

PIP 的升级命令

python -m pip install --upgrade pip

Poetry的使用

使用 -h 获取命令的帮助

修改 pyproject.toml 数据源提升速度

由于网络原因,部分地区使用默认的 PyPi 源可能效果不佳。通过在 pyproject.toml 中配置源可以使 poetry 从指定的 PyPi 镜像中拉取代码。注意 default = true 是必须的,否则 poetry 仍然会从默认源拉取哈希值。

[tool.poetry.source]
name = "tsinghua"
default = true
url = "https://pypi.tuna.tsinghua.edu.cn/simple"

poetry 的全局配置

官方说明说配置存放在C:\Users\<username>\AppData\Roaming\pypoetry\config.toml 但是这个文件默认不存在,修改某个配置后产生。

主要配置项

| cache-dir | poetry使用的缓存目录的路径.默认值:Windows:C:UsersAppdataLocalpypoetryCache |

| virtualenvs.create | 默认值为true,如果执行 poetry install/poetry add时没有虚拟环境,就自动创建一个虚拟环境,设置为false的话,当虚拟环境不存在时,会将包安装到系统环境|

| virtualenvs.in-project | 默认值为false,设置为true的话,会在当前项目目录下创建虚拟环境 |

| virtualenvs.path | 虚拟环境的路径,默认路径 {cache-dir}virtualenvs |

| repositories. | 设置新的备用存储库,具体的参数待确定 |

poetry config --list

列出当前配置

poetry config virtualenvs.in-project true

可以设置虚拟环境默认安装到项目的 .venv 目录里。

poetry config virtualenvs.create false --local

在部署时先使用这个命令可以使所有的包安装到系统中,而不是虚拟环境里。

poetry config 之后接 [–unset]、[–local]。

unset :重置某项的配置 local:配置只对本地的项目生效,不影响全局配置

配置虚拟环境的路径

使用poetry config cache-dir E:\Documents\Library 修改缓存目录后,连虚拟环境路径也改了,比使用poetry config virtualenvs.path /path/to/cache/directory/virtualenvs 更合理 poetry config virtualenvs.path --unset

当参数 virtualenvs.create=true 时,执行 poetry install 或 poetry add 时会检测当前项目是否有虚拟环境,没有就自动创建。

Poetry 的虚拟环境

poetry env

此命令以及子命令用于处理虚拟环境相关的操作。

如果需要创建的虚拟环境与当前系统默认的 Python 版本不一致,pypoetry 会自动去寻找不同于当前 Python 环境的 Python 解释器位置,如果它找不到,那么就只能手动指定解析器的绝对路径。

在 Windows 系统中,可以通过环境变量来寻找 Python 的解释器位置。

poetry env use PYTHONPATH

使用 poetry env use PYTHONPATH 命令创建虚拟环境。poetry 比 pipenv 要强的是,可以使用 poetry env use PYTHONPATH 为一个项目创建多个不同的虚拟环境。 poetry env use C:\Users\AberS\AppData\Local\Programs\Python\Python38\python.exe

poetry env info

显示虚拟环境信息

poetry env remove

删除虚拟环境

poetry env list

通过 poetry env list 可以查看当前项目所有的虚拟环境,增加 --full-path 可以看到虚拟环境的完整路径,一般在配置 VSCode、PyCharm 的时候需要使用。

poetry shell

可以在 shell 中激活当前虚拟环境;

poetry run

可以直接在当前虚拟环境中运行命令。

poetry run <你的命令>
# 例如: poetry run python flask.py

Poetry 包管理

poetry new project

全新配置,会自己生成项目文件夹,会生成默认虚拟机

poetry init

就像 npm init 一样,poetry 也需要使用 init 命令创建 pyproject.toml 文件,当然你也可以手动。这一命令并不会帮助你创建虚拟环境,它仅仅是创建一个 pyproject.toml 用来描述你的项目而已。

poetry show

查看项目安装的依赖 poetry show -h 可以查看poetry show之后可以加什么参数: poetry show -t 树形结构查看项目安装的依赖

poetry build & publish

poetry 是一个全面的包管理器,即可以管理别人,也可以管理自己。

poetry add & remove

与 npm 相同,poetry 增加/删除依赖使用 add/remove 命令。

为 add 命令增加 --dev 选项,可以把库标记为 development,当使用 poetry install --no-dev 时,不会安装它们。

poetry add flask :安装最新稳定版本的flask
poetry add pytest --dev : 指定为开发依赖,会写到pyproject.toml中的[tool.poetry.dev-dependencies]区域
poetry add flask=2.22.0 : 指定具体的版本
poetry install : 安装pyproject.toml文件中的全部依赖
poetry install --no-dev : 只安装非development环境的依赖,一般部署时使用<br />

poetry install & update

与 pipenv install 和 pipenv update 行为完全一致的愚蠢不同的是,poetry 的 install 和 update 真的做到了字面上的意思,install 就是安装所有的依赖,update 就是升级所有依赖,并且 update 真的可以指定一个包做到只更新它。

# 安装**所有的**依赖
# 如果没有虚拟环境,将会自动使用当前 Python 环境安装一个
poetry install
# 仅安装非 development 环境的依赖,一般部署时使用
poetry install --no-dev
0

评论 (0)

取消