question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Dependencies on PyPI needs to be updated.

See original GitHub issue

Most users installs nltk through:

$ pip install -U nltk

or

$ conda install nltk

but somehow the PyPI requirements seems to be far lacking behind the ones in pip-req.txt.

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Comments:13 (13 by maintainers)

github_iconTop GitHub Comments

1reaction
alvationscommented, Dec 5, 2016

I like @kmike suggestion too, having something like:

pip install nltk [plot] # Plotting + Tkinter + visual stuff included

and maybe:

pip install nltk [machine-learning] # All ML batteries included

and for lazy users:

pip install nltk [all] # All batteries included

On a related note, I think we need to also include the downloads in the setup.py code such that users won’t see an error when using “NLTK default” functions e.g. :

from nltk import sent_tokenize, word_tokenize, ne_chunk, pos_tag

Currently, now the users must download:

import download
nltk.download('punkt')
nltk.download('averaged_perceptron_tagger')
1reaction
kmikecommented, Dec 4, 2016

Adding all these packages to install_requires sounds like a maintenance nightmare - user must be able to build all these packages (many of them contain C/C++ extensions) in order to install NLTK - even if they are not needed at all for the user.

I don’t see them as required dependencies, they are optional dependencies which enables some of NLTK features. Currently the only required dependency is six - a small pure Python module. There is no reason for users to build gensim if they only want to use nltk tokenizer.

Nose, tox, coverage and pylint (and a few other packages which are their transitive dependencies) are not NLTK dependencies, they are packages required to run NLTK tests. They are not needed for the end users.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Dependency Management with Pip, Python's Package Manager
Updating one or more packages in a project can result in dependency conflicts since newer package versions will often require newer versions of ......
Read more >
How to get PyPI to automatically install dependencies [duplicate]
To have pip install dependencies automatically, I include at the top of setup.py before setuptools.setup(): requirements = [] with ...
Read more >
Specifying Dependencies — Python Packaging Tutorial
Sometimes you'll want to use packages that are properly arranged with setuptools, but aren't published to PyPI. In those cases, you can specify...
Read more >
Dependency Resolution - pip documentation v22.3.1
pip is capable of determining and installing the dependencies of packages. The process of determining which version of a dependency to install is...
Read more >
Managing Python Dependencies with Requirements.txt
This is normally done by using pip freeze > requirements.txt, which records an environment's current package list into requirements.txt. Since ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found