mirror of
https://github.com/kennethreitz/heroku-buildpack-python.git
synced 2026-06-05 23:10:16 +00:00
71aef447a6
Switches the last consumers of it to a simpler utility function that uses `pkgutil.find_loader()`: https://docs.python.org/3/library/pkgutil.html#pkgutil.find_loader Both of these consumers are covered by existing tests. Then removes `sp-grep` and the remaining parts of `pip-pop`. Closes @W-8208817@.
37 lines
1.2 KiB
Bash
Executable File
37 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# This script serves as the NLTK build step of the
|
|
# [**Python Buildpack**](https://github.com/heroku/heroku-buildpack-python)
|
|
# compiler.
|
|
#
|
|
# A [buildpack](https://devcenter.heroku.com/articles/buildpacks) is an
|
|
# adapter between a Python application and Heroku's runtime.
|
|
#
|
|
# This script is invoked by [`bin/compile`](/).
|
|
|
|
# Syntax sugar.
|
|
# shellcheck source=bin/utils
|
|
source "$BIN_DIR/utils"
|
|
|
|
# Check that nltk was installed by pip, otherwise obviously not needed
|
|
if is_module_available 'nltk'; then
|
|
puts-step "Downloading NLTK corpora…"
|
|
|
|
nltk_packages_definition="$BUILD_DIR/nltk.txt"
|
|
|
|
if [ -f "$nltk_packages_definition" ]; then
|
|
|
|
readarray -t nltk_packages < "$nltk_packages_definition"
|
|
puts-step "Downloading NLTK packages: ${nltk_packages[*]}"
|
|
|
|
python -m nltk.downloader -d "$BUILD_DIR/.heroku/python/nltk_data" "${nltk_packages[@]}" | indent
|
|
set_env NLTK_DATA "/app/.heroku/python/nltk_data"
|
|
|
|
mcount "buildvar.NLTK_PACKAGES_DEFINITION"
|
|
mcount "steps.nltk"
|
|
else
|
|
puts-warn "'nltk.txt' not found, not downloading any corpora"
|
|
puts-warn "Learn more: https://devcenter.heroku.com/articles/python-nltk"
|
|
fi
|
|
fi
|