osupython / pip2

Experimental port of pip from distutils to distutils2.
http://pip2.readthedocs.org/
MIT License
18 stars 11 forks source link

Distutils2 fails to install from PyPI with Python 3 #45

Open njwilson opened 12 years ago

njwilson commented 12 years ago

Distutils2 1.0a4 (the one on PyPI as of 5/2/12) fails to install under Python 3. We should look into this and figure out how/where to report it upstream.

This prevents us from adding distutils2 as an installation dependency for pip2. For now, we have to fetch and install the python3 branch of distutils2 manually (e.g., pip install http://hg.python.org/distutils2/archive/python3.tar.bz2).

$ pip install distutils2
Downloading/unpacking distutils2
  Using download cache from /Users/njwilson/.pip/downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FD%2FDistutils2%2FDistutils2-1.0a4.tar.gz
  Running setup.py egg_info for package distutils2
    Traceback (most recent call last):
      File "<string>", line 14, in <module>
      File "/Users/njwilson/.virtualenvs/pip2-dev-py3.2/build/distutils2/setup.py", line 5, in <module>
        from ConfigParser import RawConfigParser
    ImportError: No module named ConfigParser
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 14, in <module>

  File "/Users/njwilson/.virtualenvs/pip2-dev-py3.2/build/distutils2/setup.py", line 5, in <module>

    from ConfigParser import RawConfigParser

ImportError: No module named ConfigParser

----------------------------------------
Command python setup.py egg_info failed with error code 1 in /Users/njwilson/.virtualenvs/pip2-dev-py3.2/build/distutils2
Storing complete log in /Users/njwilson/.pip/pip.log
merwok commented 12 years ago

This is a known issue. For d2 I am using two Mercurial branches, not build-time 2to3 conversion (which I dislike as ugly and not fully correct) nor single-source (which I dislike as ugly and hard to maintain :). PyPI does not work well with that workflow; see how unittest2 had to use a unittest2py3k project name. I think pip does the right thing if you upload project-X.Y-py3.tar.gz, I need to check that and if it works do a manual upload of 1.0a4.

merwok commented 12 years ago

BTW I recommend you close this (as it is an upstream bug) and open a bug on bugs.python.org. Set the “distutils2” component and I’ll be automatically assigned the bug.

njwilson commented 12 years ago

Thanks @merwok

Here's the upstream bug report: http://bugs.python.org/issue14755

I'll remove the "Upstream Issue?" label, but leave this issue open and label it "Waiting". We will need to update at least the following files once there is a Python 3 version of distutils2 on PyPI:

njwilson commented 12 years ago

Our .travis.yml will also need to be updated once distutils2 on PyPI works for Python 3.