pypa / pypa/setuptools

distribute wheel build failure in setuptools>=20.2

Open
#535 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Needs Triage
Dominant language
Python
Stars
2.9k
Forks
1.4k
Avg merge
1d 1h
Merged PRs (30d)
1

Description

Setting up a virtualenv on Debian wheezy (using the Debian packaged virtualenv, and python 2) and wanting to use up-to-date setuptools, pip, and distribute within it (distribute still appears to need updating as otherwise bdist_wheel isn't found), the following works fine in setuptools 20.1.1 but gives a wheel error in 20.2.2 (though it still upgrades okay).

With 20.1.1, everything is fine:

$ virtualenv venv && source venv/bin/activate
[…]
(venv)$ curl --silent --location https://bootstrap.pypa.io/get-pip.py | python
[…]
Successfully installed pip-8.1.1 wheel-0.29.0
(venv)$ pip install setuptools==20.1.1
[…]
Successfully installed setuptools-20.1.1
(venv)$ python setup.py bdist_wheel # Show that we still need to upgrade distribute
[…] error: invalid command 'bdist_wheel'
(venv)$ pip install distribute==0.7.3
[…]
Building wheels for collected packages: distribute
  Running setup.py bdist_wheel for distribute ... done
Successfully built distribute
Successfully installed distribute-0.7.3
(venv)$ python setup.py bdist_wheel
[…successful output…]

Whereas with 20.2.2 you get an import error about _markerlib:

$ virtualenv venv && source venv/bin/activate
[…]
(venv)$ curl --silent --location https://bootstrap.pypa.io/get-pip.py | python
[…]
Successfully installed pip-8.1.1 wheel-0.29.0
(venv)$ pip install setuptools==20.2.2
[…]
Successfully installed setuptools-20.2.2
(venv)$ pip install distribute==0.7.3
[…]
Building wheels for collected packages: distribute
  Running setup.py bdist_wheel for distribute ... error
[…]
      from _markerlib import compile as compile_marker
  ImportError: No module named _markerlib
[…]
  Failed building wheel for distribute
  Running setup.py clean for distribute
Failed to build distribute
[…]
Successfully installed distribute-0.7.3

I see the history for 20.2 mentions _markerlib, but I don't understand what it changed that meant this no longer works. I'm not sure if this is actually an issue or whether another approach should be taken, but thought I'd raise it here, I couldn't find a similar ticket.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the Debian wheezy Python 2 virtualenv sequence using setuptools 20.1.1 and 20.2.2, focusing on python setup.py bdist_wheel and the _markerlib import error while installing distribute 0.7.3. Read the setuptools 20.2 history mentioning _markerlib; done means identifying whether the change caused this regression and defining a verified working build path.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.