我正在尝试处理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合作过,所以我假设这应该安装 Pandas ,但我不知道还有什么可做的!

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

我已经在此问题上停留了好几天了,非常感谢我能提供的任何帮助。

最佳答案

问题是,如果您像这样运行它:docker run --rm -it -v ${PWD}:/usr/src/newsqa --name newsqa maluuba/newsqa python maluuba/newsqa/data_generator.pybash永远不会进入图片,因此永远不会选择正确版本的Python环境(实际上,仅Python将运行,而根本没有shell)。

一个简单的解决方法是像这样调用它:docker run --rm -it -v ${PWD}:/usr/src/newsqa --name newsqa newsqa /bin/bash --login -c "python maluuba/newsqa/data_generator.py"
它将使用--login选项通过bash执行它,还将提供必要的环境。

07-26 07:33