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.

36.2.1 appears to ignore install_requires with extras

See original GitHub issue

Travis, Appveyor, and local builds of magic-wormhole started failing about an hour ago, when 36.2.1 was released. Our setup.py has:

      install_requires=[
          "spake2==0.7", "pynacl",
          "six",
          "twisted[tls] >= 17.5.0", # 17.5.0 adds failAfterFailures=
          "autobahn[twisted] >= 0.14.1",
          "automat",
          "hkdf",
          "tqdm >= 4.13.0", # 4.13.0 fixes crash on NetBSD
          "click",
          "humanize",
          "ipaddress",
          "txtorcon >= 0.19.3",
      ],

When I run pip install -e . in a virtualenv with setuptools-36.2.0, I see Autobahn-17.7.1 installed as expected. If I have setuptools-36.2.1, then Autobahn does not get installed. (Twisted does get installed, but it’s a dependency of txtorcon).

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Reactions:3
  • Comments:12 (8 by maintainers)

github_iconTop GitHub Comments

5reactions
jaracocommented, Jul 24, 2017

setup(install_requires=[“autobahn[twisted] >= 0.14.1”]) is equivalent to setup(extras_require={‘twisted’: [“autobahn >= 0.14.1”]})

I’m pretty sure this statement is wrong.

The former syntax says “this package depends on autobahn with its twisted extra and autobahn should be version 0.14.1 or later”. The latter syntax says “this package offers an optional feature called “twisted” and if you ask for thispackage[twisted], this package will additionally depend on autobahn 0.14.1 or later.”

4reactions
jaracocommented, Jul 24, 2017

Fix released with 36.2.2.

Read more comments on GitHub >

github_iconTop Results From Across the Web

python setup.py install ignores install_requires - Stack Overflow
I can install if I put the dependencies in a requirements. txt file and use pip install -r requirements. txt --extra-index-url lib/ ,...
Read more >
setuptools 3.6 - PyPI
Issue #1: Disable installation of Windows-specific files on non-Windows systems. ... Now clients may designate a PEP-426 environment marker for “extra” ...
Read more >
Dependencies Management in Setuptools
Setuptools offers the capability to evaluate certain conditions before blindly installing everything listed in install_requires . This is great for platform ...
Read more >
Adding a default extra_require environment - Packaging
Possible default extras/dependency categories? ... And does foo[bar] select the default extra as well as bar , or disable the default extra?
Read more >
python setup.py install_requires - You.com | The AI Search ...
HigherIncreases the frequency the app appears. NormalI don't have a preference ... python setup.py install easy_install pkg_name[extras].
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