Hacker News new | ask | show | jobs
by Derbasti 5414 days ago
I had a rather less flattering experience. It seems half the time I pull stuff using pip, it will fetch the wrong version or fail to compile, or not fetch essential dependencies...

It is still good, but nowhere near as great as gem or apt. But maybe that is just me being unlucky...

2 comments

Often these are issues with improper setup.py configurations, by the authors of these packages. It's not uncommon for authors to forget to list their package dependencies in setup.py, for instance.

Forking these projects and fixing the setup.py is probably the best solution. If they're active projects and you'll want their updates, they're likely to accept your patch. If they're inactive, it doesn't really matter that you're using a fork anyway.

You can explicitly specify which version of a package you want to install. For example, if you wanted to install an older version of Tornado,

pip install tornado==1.1

OR if you know you ONLY want tornado 2.0

pip install tornado==2.0

From my experience, pip has been able to fetch PYTHON dependencies if the author of the package wrote their setup.py correctly. I agree that things could be better with regards to C dependencies (MySQL-Python requiring libmysql5dev being particularly annoying) but this is hard to do as every environment has their own way of naming dependent libs.