I'm working a linux machine running CentOS. I don't have full sudo powers and theres multiple versions of python already installed on the machine and the whole thing is a bit of a mess, stuff like numpy doesn't work and I need to install modules which rely on that.
I was wondering if its possible to just install python (and hopefully R) into my own home directory or something and then install the modules I need into that directory and run what I need from there?
Thanks
Try using virtualenv. Of course this assumes that your system already has virtualenv installed.
https://pypi.python.org/pypi/virtualenv
Basic usage:
virtualenv venv
That creates a directory called 'venv' at your current folder. It puts in the appropriate python and pip binaries.
To go into the virtual environment:
. venv/bin/activate
or equivalently:
source venv/bin/activate
That is the key step. From then on, any packages installed using pip will be local to the virtualenv folder that we created above. Remember to do the above step before installing your packages and running your programs. Running python will also use the python from the virtualenv.
You should see something like:
(venv)[username@host]$
on your shell.
Install packages using pip like this:
pip install packagename
This will install packages for the virtualenv we created in the first step.
pip makes use of a requirements.txt file for specifying packages required for your python programs. If you have a requirements.txt file, you can use:
pip install -r requirements.txt
to install the packages specified in that file.
For running your python program:
python programName
or use the relevant command you need. Based on my limited experience so far, I have run gunicorn for web applications. This will use the python and associated libraries from our virtualenv.
To deactivate the virtualenv, use:
deactivate
Hope that helps!
Make a directory where you install your own software:
mkdir -p ~/sw/src
cd ~/sw/src
Download and untar Python source into this directory. Configure it to install into ~/sw, then compile (make sure all the required headers are available, notably those for SSL if you want to open HTTPS urls with urllib2):
./configure --prefix=$HOME/sw
make
make install
Finally, set your PATH to include $HOME/sw/bin in .bashrc (or a similar shell startup file). Now run python.
R should work similarly.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With