Why would a python framework installation guide advise the use of easy_install for some required packages and pip for others?

StackOverflow https://stackoverflow.com/questions/15866715

Question

After a failed attempt at a "streamlined" install of the SimpleCV framework superpack for Windows. I'm now working through a manual installation guide (which I'm OK with as I have more control over the installation and might finally learn about installing Python Packages properly in Windows!)

Rather than just blindly follow the guide I'm trying to understand each step, so I'm confused by this..

 easy_install pyreadline
 easy_install PIL
 easy_install cython
 easy_install pip
 pip install ipython
 pip install https://github.com/ingenuitas/SimpleCV/zipball/1.3

Why not easy_install pip as soon as possible then pip the other packages?..

 easy_install pip     {{{I intend to research and probably use get-pip.py here}}}
 pip install pyreadline        
 pip install PIL
 pip install cython
 pip install ipython
 pip install https://github.com/ingenuitas/SimpleCV/zipball/1.3

Is there a pitfall doing it this way? (My limited understanding is that it's always preferable to use pip rather than easy_install.)

I know this question relates directly to SimpleCV but I want to learn the correct approach for when I'm installing package collections in the future without the benefit of a guide.

Was it helpful?

Solution

pip fetches the source code of the packages you're trying to install and compiles them. So if you don't have a compiler installed and configured it will fail to do so for packages which contain extensions written in C, which in this case applies to pyreadline, PIL and cython.

easy_install uses the precompiled packages from pypi (at least for windows if they're available), which means you don't need to compile everything yourself.

For pure python packages it's no problem using pip instead of easy_install, and if you have a compiler and the neccessary build dependencies installed it should also work.

OTHER TIPS

I believe the answer is that pip does not currently support the installation of binary distributions, i.e. Python packages that include pre-compiled C extension modules. easy_install does.

BTW, there is work afoot to provide replacements for pip (and easy_install) that will fully support binary distributions on all platforms. See here for an overview.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top