Escachator
Escachator

Reputation: 1882

Cannot upgrade PIP in virtual environment

I am trying to upgrade pip in a virtual environment. I am using the venvburrito wrapper, in an ubuntu 14.04 machine. When I try to update it I get the following error:

   (virtual_env) ubuntu@ip-xxxxxxx:~$ pip install pip --upgrade
Collecting pip
  Using cached pip-9.0.1-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 8.1.2
    Not uninstalling pip at /home/ubuntu/.venvburrito/lib/python2.7/site-packages/pip-8.1.2-py2.7.egg, outside environment /home/ubuntu/.virtualenvs/virtual_env
Successfully installed pip-8.1.2
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

If I try it with sudo, inside the virtual environment, I get the following error:

(virtual_env) ubuntu@ip-xxxxxxx:~$ sudo pip install --upgrade pip
The directory '/home/ubuntu/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/ubuntu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
/home/ubuntu/.local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:318: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#snimissingwarning.
  SNIMissingWarning
/home/ubuntu/.local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
Requirement already up-to-date: pip in ./.local/lib/python2.7/site-packages
/home/ubuntu/.local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning

When I do it outside the virtual environment, it installs correctly.

Any help will be much appreciated.

Thanks

Upvotes: 2

Views: 3986

Answers (4)

wooden
wooden

Reputation: 11

Seen a lot of problems with pip that all seem to be fixed by running it as a python module instead of directly:

python -m pip install --upgrade pip

Upvotes: 0

Anupam
Anupam

Reputation: 15620

Try installing it as follows, within your virtualenv:

curl https://bootstrap.pypa.io/get-pip.py | python

Upvotes: 0

Vikash Kumar
Vikash Kumar

Reputation: 348

Try this one, it worked for me.

(inside virtualenv):easy_install -U pip

or

(inside virtualenv):easy_install pip

Upvotes: 4

Drako
Drako

Reputation: 768

sometimes this helps(I had similar issue pip not upgrading and 1st command worked for me):

python -m ensurepip

or

python -m ensurepip --upgrade

Upvotes: 1

Related Questions