[Distutils] pip/easy_install mercurial in virtualenv on Python 3.3

Christian Tismer tismer at stackless.com
Mon Feb 25 15:48:15 CET 2013


Addendum (see the end)

On 25.02.13 13:27, Christian Tismer wrote:
> Some further analysis of the problem:
>
> Mercurial is (and should be) installed system-wide.
>
> The 'hg' command (at least my homebrew install) uses the normal shebang
> line
>
> "#!/usr/bin/env python"
>
> When using virtualenv and python2.7, this works fine.
>
> When using virtualenv or venv and python3.3, then the following happens:
>
> - The 'python' command gets redirected to python3.
> - Then the system mercurial is run with the wrong interpreter.
>
> That finally made me try to install mercurial using pip, and that 
> caused the
> question from below.
>
> But actually, the "bad thing" IMHO is the naming clash introduced by the
> symlinks that v(irtual)env is setting:
>
> Why does it ignore the otherwise clear distinction between python and 
> python3 ?
>
> And who is responsible to make things "right":
> Should virtualenv avoid this naming problem,
> or should the mercurial installer become more carefully specify its 
> interpreter?
>
> In any case, this is pretty annoying, and hard to explain to users.
> What fixing do you recommend as a workaround?
>
> cheers - chris
>
> On 25.02.13 02:33, Christian Tismer wrote:
>> With Python 3.3:
>>
>> in a virtualenv/venv, when trying
>>
>> $ pip install mercurial
>>
>> or, after trying several options,
>>
>> $ easy_install mercurial
>>
>> I get the complaint
>>
>> error: Setup script exited with setup.py with python3 needs --c2to3 
>> (experimental)
>>
>> But when I try to do this accordingly, I get in either case again:
>>
>> $ easy_install mercurial --c2to3
>> error: Setup script exited with setup.py with python3 needs --c2to3 
>> (experimental)

After looking into "pip help install", I tried to run

(venv) $ pip install mercurial --install-option="--c2to3"

Now the crazy effect is:

Installing collected packages: mercurial
   Running setup.py install for mercurial
     --c2to3 is only compatible with python3.

Pretty confusing... ;-)

Is this the right place to ask this question?

- chris

-- 
Christian Tismer             :^)   <mailto:tismer at stackless.com>
Software Consulting          :     Have a break! Take a ride on Python's
Karl-Liebknecht-Str. 121     :    *Starship* http://starship.python.net/
14482 Potsdam                :     PGP key -> http://pgp.uni-mainz.de
phone +49 173 24 18 776  fax +49 (30) 700143-0023
PGP 0x57F3BF04       9064 F4E1 D754 C2FF 1619  305B C09C 5A3B 57F3 BF04
       whom do you want to sponsor today?   http://www.stackless.com/



More information about the Distutils-SIG mailing list