gpt4 book ai didi

python - 如何使用 pip 将 Python 包安装到我的 Divio Docker 项目中?

转载 作者:行者123 更新时间:2023-12-01 08:56:08 28 4
gpt4 key购买 nike

我习惯使用 pip 将 Python 包安装到 Django 项目的虚拟环境中。

当我在本地使用 Divio Docker 项目时,这不起作用。

最佳答案

将 Python 包安装到 Docker 项目时需要注意两件事:

  • 软件包必须安装在正确的环境中
  • 如果您想在将来使用已安装的软件包,则需要以更永久的方式安装

下面的详细信息描述了如何使用 Divio 项目,但其他 Docker 安装的原理类似。

在正确的环境中安装

要在命令行上使用 pip 将 Python 包安装到 Docker 化项目中,您需要在 Docker 内部使用 pip环境,即容器内部。

仅位于可以访问项目文件的目录中是不够的。在这方面,它类似于使用虚拟环境 - 您需要激活 virtualenv。 (否则,您的软件包将不会安装在虚拟环境中,而是安装在您自己的主机环境中。)

要激活虚拟环境,您需要在其上运行类似 source bin/activate 的命令。

要在 Divio web 容器中安装软件包:

# start a bash prompt inside the project
docker-compose run --rm web bash

# install the package in the usual way
pip install rsa

rsa 现已安装并可供使用。

更永久的安装

但是到目前为止,该软件包只能在该特定容器中安装和使用。一旦退出 bash shell,容器就会消失。下次启动 web 容器时,您将不会在那里找到 rsa 包。这是因为容器每次都是从其镜像启动的。

为了保持该软件包的安装状态,您需要将其包含在镜像中。

Divio 项目包含一个 requirements.in 文件,其中列出了将包含在镜像中的 Python 包。

在该文件末尾添加一个包含 rsa 的新行。然后运行:

docker-compose build web

这将重建 Docker 镜像。下次您使用(例如)docker-compose run --rm web bash 启动容器时,它将包含该 Python 包。

(Divio Developer Handbook has some additional guidance on using pip。)

注意:我是 Divio 团队的成员。我们经常通过支持 channel 看到这个问题。

关于python - 如何使用 pip 将 Python 包安装到我的 Divio Docker 项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52759363/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com