use*_*082 9 python heroku nltk
嘿,我想在我的Heroku服务器上安装NLTK pos_tag.我怎么能这样做.请给我一些新的Heroku服务器系统的步骤.
正如Kenneth Reitz所指出的那样,在heroku-python-buildpack中添加了一个更为简单的解决方案。将nltk.txt文件添加到您的根目录,并在其中列出您的语料库。有关详细信息,请参见https://devcenter.heroku.com/articles/python-nltk。
这是一个解决方案,可让您直接在Heroku上安装NLTK数据,而无需将其添加到git repo中。
我使用了类似的步骤在Heroku 上安装Textblob,后者使用NLTK作为依赖项。在第3步和第4步中,我对原始代码进行了一些小的调整,这些调整应仅适用于NLTK安装。
默认的Heroku buildpack包括post_compile步,经过所有的默认构建步骤运行已完成:
# post_compile
#!/usr/bin/env bash
if [ -f bin/post_compile ]; then
echo "-----> Running post-compile hook"
chmod +x bin/post_compile
sub-env bin/post_compile
fi
Run Code Online (Sandbox Code Playgroud)
如您所见,它将在项目目录中查找目录中您自己的post_compile文件,bin如果存在,它将运行它。您可以使用此挂钩来安装nltk数据。
bin在本地项目的根目录中创建目录。
将您自己的post_compile文件添加到bin目录。
# bin/post_compile
#!/usr/bin/env bash
if [ -f bin/install_nltk_data ]; then
echo "-----> Running install_nltk_data"
chmod +x bin/install_nltk_data
bin/install_nltk_data
fi
echo "-----> Post-compile done"
Run Code Online (Sandbox Code Playgroud)将您自己的install_nltk_data文件添加到bin目录。
# bin/install_nltk_data
#!/usr/bin/env bash
source $BIN_DIR/utils
echo "-----> Starting nltk data installation"
# Assumes NLTK_DATA environment variable is already set
# $ heroku config:set NLTK_DATA='/app/nltk_data'
# Install the nltk data
# NOTE: The following command installs the averaged_perceptron_tagger corpora,
# so you may want to change for your specific needs.
# See http://www.nltk.org/data.html
python -m nltk.downloader averaged_perceptron_tagger
# If using Textblob, use this instead:
# python -m textblob.download_corpora lite
# Open the NLTK_DATA directory
cd ${NLTK_DATA}
# Delete all of the zip files
find . -name "*.zip" -type f -delete
echo "-----> Finished nltk data installation"
Run Code Online (Sandbox Code Playgroud)添加nltk到您的requirements.txt文件(或者textblob如果您正在使用Textblob)。
在heroku应用程序上设置NLTK_DATA环境变量。
$ heroku config:set NLTK_DATA='/app/nltk_data'
Run Code Online (Sandbox Code Playgroud)post_compile在部署结束时看到步骤触发器,然后下载nltk。希望对您有所帮助!请享用!
| 归档时间: |
|
| 查看次数: |
4104 次 |
| 最近记录: |