For python, use a virtual environment. This places you work in a seperate installation workplace for every different project. That is good practice using python. There are tons of good guidelines on how to do this. Of course there is a tool to make it (even) easier, called virtualenvwrapper. Using this, you simply say:
mkvirtualenv myproject
and from then on, you have a clean environment to install all kinds of dependencies into. If then later you start your computer again, you simply type workon myproject
, and you continue with the same dependencies and install more or remove some, as you want. There is no contamination of the global environment.
Python IDE`s provide are also able to recognize virtual environments for your projects.
Once created a virtualenv, you use pip or easy_install to setup and manage the required packages, and it is miraculously easy to store your requirements in a small text file and to recreate the entire environment if it were to be deleted or corrupted in any way or when migrating your project to another system, using pip freeze
, which tells you the modules residing in your environment. Storing the output in a file, i.e. pip freeze > requirements.txt
allows you to rebuild the requirements for the project in another environment, using pip install -r requirements.txt
. This is all standard practice.
Also a virtualenvwrapper allows you to set custom environment variables for that specific project, without messing up the global environment or other environments, but I doubt you need this.
So there won't be immediate need to get rid of old/existing installations. However if you still want to do that out of cleaning frenzy or so, and you never had any admin rights, you can probably do pip freeze
to see what is in there, and remove what you don't need.
What you suggest might work, start with a new user. Just move the project files and setup a virtual environment for each project.
For ruby i am not the expert but a similar kind of functionality is provided by rvm.