Docker:ImportError:没有名为pandas的模块

时间:2018-11-18 04:00:19

标签: python pandas docker

我正在尝试处理this GitHub repository中的代码以处理新闻文章中的数据集。我正在遵循他们的docker安装步骤,并且前两个执行没有任何错误。

但是,对于第三个docker run --rm -it -v ${PWD}:/usr/src/newsqa --name newsqa maluuba/newsqa python maluuba/newsqa/data_generator.py, 我收到以下错误:

Traceback (most recent call last):
  File "maluuba/newsqa/data_generator.py", line 8, in <module>
    from simplify import simplify
  File "/usr/src/newsqa/maluuba/newsqa/simplify.py", line 5, in <module>
    import pandas as pd
ImportError: No module named pandas

这是Dockerfile的一部分:

FROM continuumio/miniconda:4.5.11

# Setup the Python environment.
RUN conda create --yes --name newsqa python=2.7 "pandas>=0.19.2" cython
RUN echo "conda activate newsqa" >> ~/.bashrc

WORKDIR /usr/src/newsqa
COPY requirements.txt ./
RUN /bin/bash --login -c "conda list && yes | pip install --requirement requirements.txt"

我以前从未与Docker合作过,所以我假设这应该安装熊猫,但我不知道还有其他事情可做!

我发现this issue与我的相似,但我并不清楚。我应该“进入”泊坞窗,然后手动安装pip吗?我无法使用此命令docker ps -aqf "name=containername"找到容器ID。它什么也不返回。

我已经坚持了好几天,非常感谢我能提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

问题是,如果您像这样运行它: docker run --rm -it -v ${PWD}:/usr/src/newsqa --name newsqa maluuba/newsqa python maluuba/newsqa/data_generator.py

bash永远不会进入图片,因此永远不会选择正确版本的Python环境(实际上,只有Python将运行,而没有外壳)。

一个简单的解决方法是像这样调用它: docker run --rm -it -v ${PWD}:/usr/src/newsqa --name newsqa newsqa /bin/bash --login -c "python maluuba/newsqa/data_generator.py"

将使用--login选项通过bash执行该操作,还将提供必要的环境。