为什么我在安装 Negbio 后收到 ModuleNotFoundError 错误?

时间:2021-04-16 14:50:02

标签: python-3.x django dockerfile spacy

构建一个 docker 镜像,我已经在我的 Dockerfile 中安装了 Negbio:

RUN git clone https://github.com/ncbi-nlp/NegBio.git xyz && \
    python xyz/setup.py install

当我尝试在 localhost:1227 上运行我的 Django 应用程序时,我得到:

<块引用>

没有名为“negbio”的模块出现 ModuleNotFoundError 异常

当我运行 pip list 时,我可以看到 negbio。我错过了什么?

2 个答案:

答案 0 :(得分:0)

根据您的评论,It wouldn't install with pip and hence not installing via pip

首先,要确保通过 python setup.py install 正确安装 https://github.com/ncbi-nlp/NegBio,您需要先通过 pip install -r requirements 安装它的依赖项。因此,无论哪种方式,您都注定要在 Docker 中拥有 pip

例如,这是可以正确安装 Dockerfile 软件包的示例 negbio

 FROM python:3.6-slim

 RUN mkdir -p /apps
 WORKDIR /apps

 # Steps for installing the package via Docker:
 RUN apt-get update && apt-get -y upgrade && apt-get install -y git gcc build-essential
 RUN git clone https://github.com/ncbi-nlp/NegBio.git
 WORKDIR /apps/NegBio
 RUN pip install -r requirements.txt
 RUN python setup.py install

 ENV PATH=~/.local/bin:$PATH

 EXPOSE 8000

 CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

因此,如果您实际通过 requirements.txt

安装它不会有什么坏处

我会这样做:

requirements.txt --> 在此处添加您的所有要求

negbio==0.9.4

并确保它使用 RUN pip install -r requirements.txt

在 docker 中即时安装

答案 1 :(得分:0)

我最终通过进入全 Anaconda 环境解决了我的问题。感谢大家的投入。