我正在尝试处理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。它什么也不返回。
我已经坚持了好几天,非常感谢我能提供的任何帮助。
答案 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执行该操作,还将提供必要的环境。