Conda和poetry搭配使用

创建一个新的conda环境,并在这个环境中使用 poetry。 这是为了防止conda环境和poetry环境之间有冲突,或者因为全局系统级别的Python和包影响项目。

步骤:

创建conda环境(此处的myenv是环境名,3.11是你需要的Python版本):

1
conda create -n myenv python=3.11 --no-default-packages

激活这个conda环境:

1
conda activate myenv

确认你正在使用conda环境中的Python。在终端输入以下命令,查看python路径:

1
which python

你应该可以看到一个指向你刚创建的conda环境的路径。

现在,你应该可以在你的conda环境中安装和使用 poetry 了。可以通过以下命令来安装 poetry:

1
pip install poetry

当我们在conda环境中启动了poetry后,可以创建一个新的poetry项目,或切换到已有的poetry项目目录下,然后使用 poetry install 安装项目的依赖。由于你是在conda环境中启动的 poetry,所以依赖会被安装在当前的conda环境中。 请注意,使用这种方式,conda会负责管理Python和二进制依赖,而poetry则负责管理Python包。

最后,附赠一份poetry项目常用的镜像构建脚本:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

FROM python:3.11-bookworm as builder

WORKDIR /app

COPY pyproject.toml poetry.lock /app/

ENV POETRY_VIRTUALENVS_CREATE false

RUN pip3 install pip --upgrade && pip3 install poetry --upgrade && poetry install --no-root --only main


FROM python:3.11-slim-bookworm

WORKDIR /app

COPY --from=builder /usr/local/lib/python3.11 /usr/local/lib/python3.11

COPY --from=builder /usr/local/bin/ /usr/local/bin/

COPY . /app

EXPOSE 8080

# Run the application when the container launches
CMD ["python", "main.py"]
Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计