Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将spaCy对象(nlp)导入运行Django项目的不同Docker容器_Python_Django_Docker_Spacy - Fatal编程技术网

Python 将spaCy对象(nlp)导入运行Django项目的不同Docker容器

Python 将spaCy对象(nlp)导入运行Django项目的不同Docker容器,python,django,docker,spacy,Python,Django,Docker,Spacy,我正在运行包含3个服务(或容器)的docker compose文件: django网站 nginx 空间网 我的最终目标是在spacy web中创建2个nlp对象(nlp_en,nlp_fr),并在django web中使用它们。 这看起来可能/可取吗? 当然,拆分django web和spacy web的原因是为了有一个更干净的容器方案 我已经为spacy web创建了Dockerfile。 我安装spaCy和2种语言模型(英语/法语)。 通过一个entrypoint(它运行一个pytho

我正在运行包含3个服务(或容器)的docker compose文件:

  • django网站

  • nginx

  • 空间网

我的最终目标是在spacy web中创建2个nlp对象(nlp_en,nlp_fr),并在django web中使用它们。 这看起来可能/可取吗? 当然,拆分django web和spacy web的原因是为了有一个更干净的容器方案

我已经为spacy web创建了Dockerfile。 我安装spaCy和2种语言模型(英语/法语)。 通过一个entrypoint(它运行一个python脚本:spacy_entrypoint.py),我创建了两个nlp对象,每种语言一个(nlp_en,nlp_fr)

我的第一个问题是,这个容器在创建nlp对象后立即退出。我的猜测是,我应该在python脚本的末尾添加一些东西,以保持容器运行,但不使用太多CPU。如何使python容器保持活动状态,以访问从另一个容器创建到其中的对象

如果这个问题可以解决,那么我需要将nlp对象(nlp_en,nlp_fr)导入另一个容器,即django web。我从未到过那里,因为SpacyWeb在创建后立即退出。在相关的django视图中,我会尝试“从spacy web导入nlp_en,nlp_fr”。有人尝试过从一个Docker容器到另一个Docker容器的python导入吗

Dockerfile.spacy spacy_entrypoint.py
当我构建一个映像并基于这些文件运行一个容器时,容器会立即退出。我将非常感谢任何指向正确方向的提示

我建议从简单开始,把所有东西都放在一个应用程序和一个容器中

FROM python:3.7.4
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
RUN pip3 install --upgrade pip
RUN pip3 install -U spacy
RUN python3 -m spacy download en_core_web_lg
RUN python3 -m spacy download fr_core_news_md
ENV updated_at 2019-09-06
EXPOSE 4000
RUN mkdir -p /temp
WORKDIR /temp
COPY compose_spacy/spacy_entrypoint.py /temp
ENTRYPOINT ["python3", "spacy_entrypoint.py"]
import spacy
nlp_en = spacy.load('en_core_web_lg')
nlp_fr = spacy.load('fr_core_news_md')