【问题标题】:Docker run giving 'No module named 'pandas''Docker运行给出'没有名为'pandas'的模块'
【发布时间】:2021-11-20 05:41:36
【问题描述】:

这是我的 docker 文件

FROM public.ecr.aws/i7d4o1h8/miniconda3:4.10.3p0 
 
RUN pip install --upgrade pip

COPY condaEnv.yml .
RUN conda env create -f condaEnv.yml python=3.9.7
RUN pip install sagemaker-inference

 
COPY inference_code.py /opt/ml/code/

ENV SAGEMAKER_SUBMIT_DIRECTORY /opt/ml/code/
ENV SAGEMAKER_PROGRAM inference_code.py
ENTRYPOINT ["python", "/opt/ml/code/inference_code.py"]

当我使用命令docker build -t docker_name . 运行docker build 时,它是成功的,最后我看到Successfully tagged docker_name:latest

但是当我尝试运行它提供的 docker 映像时

Traceback (most recent call last):
  File "/opt/ml/code/inference_code.py", line 4, in <module>
    import pandas as pd
ModuleNotFoundError: No module named 'pandas'

但在 condaEnv.yml 文件中,我将熊猫定义为

name: plato_vrar
channels:
  - conda-forge
  - defaults
dependencies:
  - pandas=1.3.4
  - pip=21.2.4
prefix: plato_vrar/

我在这里错过了什么?

【问题讨论】:

标签: docker dockerfile conda


【解决方案1】:

在 anaconda 中,创建环境意味着只准备环境。您还需要 activete 使用 conda activate &lt;ENV_NAME&gt; 然后将 python 正确链接到 anaconda 版本而不是系统版本。更多详情请参考 conda 文档:https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#activating-an-environment

【讨论】:

    猜你喜欢
    • 2022-01-12
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 2021-02-22
    • 2016-12-09
    • 1970-01-01
    • 2016-02-02
    • 2019-06-03
    相关资源
    最近更新 更多