* NLTK support: Update test to use multiple corpora So that the incorrect handling of multiple IDs seen in #444 would have been caught. Also switches to some of the smaller corpora, to reduce time spent downloading during tests (see sizes on http://www.nltk.org/nltk_data/). * NLTK support: Fix passing of multiple corpora identifiers As part of fixing the shellcheck warnigns in #438, double quotes had been placed around `$nltk_packages` passed to the `nltk.downloader`, which causes multiple identifiers to be treated as though it were just one identifier that contains spaces. The docs for the shellcheck warning in question recommend using arrays if the intended behaviour really is to split on spaces: https://github.com/koalaman/shellcheck/wiki/SC2086#exceptions As such, `readarray` has been used, which is present in bash >=4. The `[*]` array form is used in the log message, to prevent shellcheck warning SC2145, whereas `[@]` is used when passed to `nltk.downloader` to ensure the array elements are unpacked as required. Note: Both before and after this fix, using anything but unix line endings in `nltk.txt` will also cause breakage.
Heroku Buildpack: Python
This is the official Heroku buildpack for Python apps, powered by pip and other excellent software.
Recommended web frameworks include Django and Flask. The recommended webserver is Gunicorn. There are no restrictions around what software can be used (as long as it's pip-installable). Web processes must bind to $PORT, and only the HTTP protocol is permitted for incoming connections.
Some Python packages with obscure C dependencies are not compatible.
See it in Action
Deploying a Python application couldn't be easier:
$ ls
Procfile requirements.txt web.py
$ heroku create --buildpack heroku/python
$ git push heroku master
...
-----> Python app detected
-----> Installing python-3.6.2
$ pip install -r requirements.txt
Collecting requests (from -r requirements.txt (line 1))
Downloading requests-2.12.4-py2.py3-none-any.whl (576KB)
Installing collected packages: requests
Successfully installed requests-2.12.4
-----> Discovering process types
Procfile declares types -> (none)
A requirements.txt file must be present at the root of your application's repository.
You can also specify the latest production release of this buildpack for upcoming builds of an existing application:
$ heroku buildpacks:set heroku/python
Specify a Python Runtime
Specific versions of the Python runtime can be specified with a runtime.txt file:
$ cat runtime.txt
python-2.7.13
Runtime options include:
python-3.6.2python-2.7.13pypy-5.7.1(unsupported, experimental)pypy3-5.5.1(unsupported, experimental)
