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.

Missing item in the requirements list

See original GitHub issue

Since numexpr` v2.8 setuptoolsis used in a couple modules, so it should be listed in therequirements.txt`` file.

More precisely, the vendored copy of packaging is actually used. Probably it could make more sense to depend directly on packaging.

If needed I can provide a PR for this.

Issue Analytics

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

github_iconTop GitHub Comments

1reaction
avalentinocommented, Dec 3, 2021

@robbmcleod not sure to understand your point. Yes distutils is deprecated and setuptools is the natural replacement (not the only one). I agree with you that using setuptools in the setup.py is the obvious solution at the moment.

Anyways I’m talking about the use of setuptools in the numbexpr package itself (namely expressions.py and test_numexpr.py). In this case you don’t need complex features provided by setuptools, you just need functions related to management of version parsing and comparison. That functions are provided by the packaging standalone package that is considered as a reference implementation of some of the current standard for Python packaging and used by several tools to build more complex features. setuptools itself uses packaging. The reason why they currently vendor it are not relevant in this context IMHO.

Also our use case perfectly matches one of the “Migration advice” provided in PEP632 [1] (distutils deprecation).

[1] https://www.python.org/dev/peps/pep-0632/#migration-advice

In conclusion, leaving out philosophical considerations, the real point is that whenever we decide to use setuptools or packaging we should document that it is a runtime requirement. Indeed we cannot assume that they are always installed since it is not true in several contexts, like e.g. conda packages and packages provided by GNU/Linux distributions like Debian/Ubuntu or Fedora/Redhat.

@emjohnson20 not sure that your problem is related to this specific issue.

You should use not use setup.py directly but rather the recommended

$ python3 -m pip install .

or

$ python3 -m build .
0reactions
avalentinocommented, Dec 11, 2021

Perfect, thanks a lot @robbmcleod

Read more comments on GitHub >

github_iconTop Results From Across the Web

Find Missing items from arraylist in java - Stack Overflow
You can use boolean removeAll(Collection<?> c) method. Just note that this method modifies the List on which you invoke it.
Read more >
The Items from My Package Are Missing. What Should I Do?
How does it happen that the items are missing? · First, check the package carefully · Second, contact the sender to confirm the...
Read more >
MISSING ITEMS Sample Clauses - Law Insider
MISSING ITEMS. Renter assumes full responsibility of item upon possession, and agrees to pay full replacement cost for lost or damaged items. Items...
Read more >
Item specifics | Seller Center - eBay
See the latest item specifics requirements for your categories. ... window where you can cycle through each listing and add any missing item...
Read more >
Required Items Missing from RFP Submittal
Required RFP items missing from proposal submitted by Civica/Traub ... proposed Best value item, a list and analysis of deviation from the requirements....
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