首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用pip将Python包安装到Divio Docker项目中?

如何使用pip将Python包安装到Divio Docker项目中?
EN

Stack Overflow用户
提问于 2018-10-11 19:50:24
回答 1查看 611关注 0票数 1

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

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

EN

回答 1

Stack Overflow用户

发布于 2018-10-11 19:50:24

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

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

下面的细节描述了使用Divio项目,但原则将类似于其他Docker安装。

在正确的环境中安装

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

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

要激活一个虚拟环境,你需要在它上面运行类似source bin/activate的东西。

要在Divio web容器中安装包,请执行以下操作:

代码语言:javascript
运行
复制
# 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的新行。然后运行:

代码语言:javascript
运行
复制
docker-compose build web

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

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52759363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档