Prevent libraries installed from different sources from clashing

Registered by Will Cooke

Many languages provide a method for locating and install libraries that doesn't depend on apt. For example, Python PIP and Ruby Gems. It is quite easy to get in to a state where you can't be certain which version is being used. We need to identify and implement a better way of handling this situation.

Blueprint information

Status:
Not started
Approver:
Sebastien Bacher
Priority:
Undefined
Drafter:
Will Cooke
Direction:
Needs approval
Assignee:
Didier Roche-Tolomelli
Definition:
New
Series goal:
Accepted for vivid
Implementation:
Unknown
Milestone target:
milestone icon ubuntu-15.04

Related branches

Sprints

Whiteboard

Note: Removed the "post to a wiki page patch" as it seems upstream are well aware about those issues and we were able to default to --user installs on non virtual environment env.
Changed gem and npm as they are currently the correct behavior (even if rubygem installs by default in /var, and so, needs root access). This won't mess with system locations.

(?)

Work Items

Work items:
[didrocks] patch pip install to not yell as it can't install in /usr/local and install locally by default (on non virtualenv directory) + disable system package detection in that case: DONE
[didrocks] discuss about those pip changes with upstream and debian: INPROGRESS
[didrocks] check gem, npm, bower to get comparable behaviors: DONE
[didrocks] documente those changes in a blog post: TODO
[tinchester] investing pipsi integration: TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.