有没有办法将 TextBlob 语料库下载到 Google Cloud 运行?

Is there a way to download TextBlob corpora to Google Cloud Run?

我正在使用 Python 和 TextBlob 进行情绪分析。我想使用 Google Cloud Build(不使用 Docker)将我的应用程序(在 Plotly Dash 中构建)部署到 Google Cloud 运行。在我的虚拟环境中本地使用时一切正常,但在将其部署到云端后,语料库未下载。查看 requriements.txt 文件,也没有提到这个语料库。

我尝试将 python -m textblob.download_corpora 添加到我的 requriements.txt 文件中,但在我部署它时它没有下载。我也尝试添加

import textblob
import subprocess
cmd = ['python','-m','textblob.download_corpora']
subprocess.run(cmd)

import nltk
nltk.download('movie_reviews')

我的脚本(callbacks.py,我正在使用 Plotly Dash 制作我的应用程序),但都没有成功。

有没有办法将这个语料库添加到我的 requirements.txt 文件中?还是有另一种解决方法来下载这个语料库?我该如何解决这个问题?

提前致谢!

维杰

由于云 运行 根据您的流量水平需要创建和销毁容器,您需要将语料库嵌入预构建的容器中以确保快速冷启动时间(而不是在容器启动)

最简单的方法是在 docker 文件中添加另一行,在构建时下载并安装语料库,如下所示:

RUN python -m textblob.download_corpora 

这里有一个完整的 docker 文件供您参考:

# Python image to use.
FROM python:3.8

# Set the working directory to /app
WORKDIR /app

# copy the requirements file used for dependencies
COPY requirements.txt .

# Install any needed packages specified in requirements.txt
RUN pip install --trusted-host pypi.python.org -r requirements.txt
RUN python -m textblob.download_corpora

# Copy the rest of the working directory contents into the container at /app
COPY . .

# Run app.py when the container launches
ENTRYPOINT ["python", "app.py"]

祝你好运, 乔什