1

I'm having a hard time understanding the way pip is supposed to work when there's 2 Python distributions in the machine.

My setup:

  • OSX 10.9.5
  • Default Python (2.7.5 (default, Mar 9 2014, 22:15:05))
  • ActiveState Python (2.7.8 (default, Jul 7 2014, 20:30:57))

My path is set to have /usr/local/bin placed after the default directories as I don't want to override the default utilities, but I want to be able to call them when needed. So the default python and pip would be the system ones:

Mac-JJJ:~ jjarava$ which -a python
/usr/bin/python
/usr/local/bin/python
Mac-JJJ:~ jjarava$ which -a pip
/usr/bin/pip
/usr/local/bin/pip

What I did to get it setup like that was to install pip in the "system" python with sudo easy_install pip and then sudo mv pip* /usr/bin/

After that, I install ActiveState that installs links to the different tools they package in /usr/local/bin, including "pip"

Both "pip" instances are working off different package lists:

Mac-JJJ:~ jjarava$ /usr/bin/pip list | wc -l
      53
Mac-JJJ:~ jjarava$ /usr/local/bin/pip list | wc -l
       7

Now, in my way of thinking about it, when I call /usr/bin/pip I would be adding/deleting packages for the "System" Python, while invoking /usr/local/bin/pip would affect the package repository associated with ActivePython...

But that doesn't seem to be the case. For example, when I install the "requests" package using the "system" PIP and I get the package listed in both "pip" listings.

So, am I missing something? Why the "ActiveState" pip doesn't list all the packages that the system one does, but after installing a new package with the "system" pip, it shows in both package lists?

That does not happen the other way round -- when I install a package with the "ActiveState" pip, I don't get it on the system list (which is the expected behaviour I'd say)

Thanks a lot for any pointers?!

JJarava
  • 552
  • 10
  • 18

0 Answers0