# 一.安装 poetry

# 1.介绍

Poetry 是一个用于 Python 依赖管理和打包的工具。它允许您声明项目所依赖的库,并为您管理(安装/更新)它们。Poetry 提供了一个 lockfile 以确保可重复的安装,并且可以为您的项目构建分发版本。

# 2.安装

# 使用 curl 安装
curl -sSL https://install.python-poetry.org | python3 -

# 使用 pip 安装
pip install poetry
1
2
3
4
5

# 3.更新

poetry self update
1

# 4.卸载

curl -sSL https://install.python-poetry.org | python3 - --uninstall
1

# 5.查看配置

# 查看路径
poetry config --list

# 修改路径
poetry config virtualenvs.path 你自己想要修改的路径
1
2
3
4
5

# 6.更新 Shell 配置

如果你已经安装了 Poetry,但仍然遇到这个错误,确保你的 PATH 环境变量包含了 Poetry 的可执行文件路径。对于 zsh,你需要在 .zshrc 文件中添加或确认以下行:

vim ~/.zshrc
1
export PATH="$HOME/.poetry/bin:$PATH"
1
source ~/.zshrc
1

# 7.检查环境变量

你也可以在终端中运行以下命令来检查当前的 PATH 环境变量:

echo $PATH
1

确保输出中包含了 Poetry 的安装路径(通常是 $HOME/.poetry/bin)。

# 二.poetry 命令

# 1.安装卸载

pip install poetry

pip uninstall poetry
1
2
3

# 2.查看版本

pip show poetry

poetry --version

python --version
1
2
3
4
5

# 3.查看位置

which poetry
1

# 4.依赖安装

linux

poetry lock --no-update -vvv && poetry install --sync --no-cache --no-root -vvv
1

windows

poetry lock --no-update -vvv ; poetry install --sync --no-cache --no-root -vvv
1

# 三.项目说明

# 1.初始化项目

poetry new poetry-demo
1

这将生成一个名为 poetry-demo 的目录,包含项目的基本结构和一个重要的配置文件 pyproject.toml

# 2.依赖管理

pyproject.toml 文件的 [tool.poetry.dependencies] 部分,可以指定项目的依赖项。例如:

[tool.poetry.dependencies]
python = "^3.10"
flask = "^2.3.2"
1
2
3

# 3.安装依赖

poetry install
1

# 4.更新依赖

# 更新所有依赖
poetry update

# 更新特定依赖
poetry update flask
1
2
3
4
5

# 四.实战演练

# 1.打包

python -m build
1

# 2.安装依赖

poetry shell
poetry install
1
2

# 3.错误

删除目录下的文件 C:\Users\28125.conda\envs\flex-flow111\Scripts\poetry.exe

poetry lock --no-update -vvv; poetry install --sync --no-cache --no-root -vvv
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\28125\.conda\envs\flex-flow111\Scripts\poetry.exe\__main__.py", line 4, in <module>
ModuleNotFoundError: No module named 'poetry.console'
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\28125\.conda\envs\flex-flow111\Scripts\poetry.exe\__main__.py", line 4, in <module>
ModuleNotFoundError: No module named 'poetry.console'
1
2
3
4
5
6
7
8
9
10
11
上次更新: 11/10/2024, 11:51:17 AM