[Distutils] using pip to install an specific, older version
Chris Jerdonek
chris.jerdonek at gmail.com
Tue Apr 3 03:25:46 CEST 2012
On Mon, Apr 2, 2012 at 12:08 PM, Carl Meyer <carl at oddbird.net> wrote:
> Hi Chris,
>
> On 04/02/2012 12:50 PM, Chris Jerdonek wrote:
>> Hi, I'm trying to use pip to install an older, specific version of a
>> package in PyPI (specifically simplejson v2.0.9):
>>
>> http://pypi.python.org/pypi/simplejson/2.0.9
>>
>> I've tried a few variations of the syntax below, but it always seems
>> to install the newest version (v2.5.0). I don't know if this is an
>> issue with simplejson, how I'm using pip, or something else. Based on
>> the below, can anyone say why it's not working and how to correct the
>> behavior?
>>
>> Thanks,
>> --Chris
>>
>>
>>> sudo pip freeze -E /opt/local/bin/python
>> nose==1.1.2
>>> sudo pip install -E /opt/local/bin/python 'simplejson<2.1.0'
>> Downloading/unpacking simplejson<2.1.0
>> Running setup.py egg_info for package simplejson
>> Installing collected packages: simplejson
>> Running setup.py install for simplejson
>> File "/opt/local/lib/python2.4/site-packages/simplejson/encoder.py",
>> line 398
>> if (not _bigint_as_string or
>> ^
>> SyntaxError: invalid syntax
>> Successfully installed simplejson
>> Cleaning up...
>>> sudo pip freeze -E /opt/local/bin/python
>> nose==1.1.2
>> simplejson==2.5.0
>>> python -V
>> Python 2.4.6
>>> which python
>> /opt/local/bin/python
>>> which pip
>> /usr/local/bin/pip
>
> I can't replicate this; when I "pip install 'simplejson<2.1.0'" I get
> 2.0.9. The most likely cause is if you have a build/ directory in your
> current working dir with an already-unpacked simplejson 2.5.0 in it;
> there's a known bug in pip that causes it to not check the version if it
> finds an already-unpacked source.
Thanks, Carl. Good intuition! That was the case for me. Thanks also
for the information regarding -E and virtualenv. I will start using
that approach.
--Chris
>
> Also, you may want to be aware that the -E flag is deprecated and is
> already removed in the latest pip release (1.1) because it does not
> handle isolated virtualenvs correctly. Instead, create a virtualenv and
> use the pip that is automatically installed inside it (virtualenv
> path/to/venv && path/to/venv/bin/pip install simplejson).
>
> Carl
>
>
> _______________________________________________
> Distutils-SIG maillist - Distutils-SIG at python.org
> http://mail.python.org/mailman/listinfo/distutils-sig
>
More information about the Distutils-SIG
mailing list