gpt4 book ai didi

python - 带有 pip install 的 docker build 会覆盖现有的包

转载 作者:行者123 更新时间:2023-12-02 18:26:49 25 4
gpt4 key购买 nike

这是我的 Dockerfile:

FROM docker_with_pre_installed_packages:1.0
ADD requirements.txt .
RUN pip install -r requirements.txt
ADD app app
WORKDIR /

docker_with_pre_installed_pa​​ckages 有:
/usr/local/lib/python2.7/site-packages/my_packages/db
/usr/local/lib/python2.7/site-packages/my_packages/config
/usr/local/lib/python2.7/site-packages/my_packages/logging

要求.txt:
my_package.redis-db
my_package.common.utils

跑完之后
docker build -t test:1.0 .
docker run -it test:1.0 bash
cd /usr/local/lib/python2.7/site-packages/my_packages/
ls
__init__.py redis_db common

pip freeze 仍然显示旧包
我仍然可以看到 dist-info 目录
但是当尝试运行 python 并从我得到的预安装包中导入一些东西时:
ImportError: No module named my_package.config

谢谢!

最佳答案

您是否尝试在 docker_with_pre_installed_pa​​ckages 中安装 python 或只是复制了一些文件?看起来python没有正确安装。
顺便说一句,从今年开始不支持 Python 2.7,强烈建议使用 Python 3。
尝试使用 python docker image 并安装依赖项并进行比较。

FROM python:3
ADD requirements.txt /
ADD app app
RUN pip install -r requirements.txt
CMD [ "python", "./my_script.py" ]

关于python - 带有 pip install 的 docker build 会覆盖现有的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60294884/

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