【发布时间】:2025-11-28 17:50:01
【问题描述】:
所以我有一个使用django cookiecutter 创建的 docker 映像,我需要安装额外的 python 包才能让我的应用程序正常工作。我试图安装的包是django markdown,所以我编辑了需求文件夹中的base.txt,当我运行命令sudo docker-compose -f dev.yml run django pip install -r requirements/base.txt
时,它显示了这个输出:
所以看起来它实际上安装了包,但如果我再次运行它,它看起来就像是第一次并尝试再次安装它,如果我尝试运行我的 django 项目,我会得到ImportError: No module named 'django_markdown'。什么可能导致此问题,我应该采取什么解决方法?
我尝试安装不同的软件包,即使使用 sudo docker-compose -f dev.yml run django pip install [package name]
command 得到相同的结果
【问题讨论】:
-
如果您第二次使用
docker run,您将生成一个新容器,而不会更改第一次。在构建映像时从Dockerfile运行安装。 -
您应该为您的python项目创建一个虚拟环境,将该文件夹复制到docker容器或mount绑定该文件夹,然后直接运行应用程序。
标签: python django docker pip docker-compose