3
votes

I am working on a compute server which runs a linux. The machine is used by several users so I don't have and won't get root privileges. I need to install Keras which you would normally do by using pip

Now, pip is not installed and the root won't install it for me either unless I beg him for probably a month or so. I tried to locally install pip with the python installation scrip Python352/bin/python3.5 get-pip.py --user

This unfortunately throws me an no permission error /etc. This is not exactly what I expected from installing the tool locally. Is it somehow possible to make an installation of pip that does not try to touch anything outside my local directory?

3
Create a virtual environment and do your stuff within thatAnonymous
Are you sure pip is not already installed? Since 3.4, pip comes default with the binary installers of python.Anthon
I tried python3.5 get-pip.py --user using on my Linux Mint 17 system and did not get the permission error (as normal user without write rights on /etc and using 3.5.2)Anthon
Then this might be some over-strict restriction on this shared system. I think they want to contain all user-tools in a folder than can simply deleted after some time when the user is inactive.toobee

3 Answers

4
votes

Here is the up-to-date version to install pip (python) to user without root access method:

`wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py && python get-pip.py --user`
2
votes

I had the similar case as you and I chose the Anaconda. You can download Anaconda file from this page using wget. You will happily find the file to be a .sh file.

Use the following command to install Anaconda (for Python3):

bash ./Anaconda3-5.0.1-Linux-x86_64.sh

Use the following command to install other software (SOFTWARE_NAME) by pip:

anaconda3/bin/pip install SOFTWARE_NAME

Hope it could help you.

1
votes

For installing pip as user without sudo access, check: How to install pip (python) to user without root access.


Also, you need a virtual environment and for that you may use virtualenv. As the virtual environment doc says:

A Virtual Environment is a tool to keep the dependencies required by different projects in separate places, by creating virtual Python environments for them. It solves the “Project X depends on version 1.x but, Project Y needs 4.x” dilemma, and keeps your global site-packages directory clean and manageable.

How it fits you?

  1. You don't need to be root, in order to use it
  2. You may install multiple versions of libraries in different virtual environment without worrying about the version conflicts.
  3. You need not to worry about the libraries you install to mess up with the configuration of the other users using the system