Любая идея, как обновить Python PIP на окне Windows? - PullRequest
55 голосов
/ 07 декабря 2010

pip install --upgrade pip не работает, потому что Windows FS поврежден мозгом и не позволит вам удалить открытый файл.

Я попытался установить в моей среде virtualenv, который я хочу обновить, а затем запустить из другого пункта, но это не удается с помощью:

(jm) E:\python\jm>c:\Python26\Scripts\pip install --upgrade pip
Downloading/unpacking pip
  Running setup.py egg_info for package pip
    warning: no previously-included files matching '*.txt' found under directory 'docs\_build'
    no previously-included directories found matching 'docs\_build\_sources'
Installing collected packages: pip
  Found existing installation: pip 0.7.1
    Uninstalling pip:
      Successfully uninstalled pip
  Running setup.py install for pip
    warning: no previously-included files matching '*.txt' found under directory 'docs\_build'
    no previously-included directories found matching 'docs\_build\_sources'
    Installing pip-script.py script to c:\Python26\Scripts
    Installing pip.exe script to c:\Python26\Scripts
    Installing pip.exe.manifest script to c:\Python26\Scripts
    Installing pip-2.6-script.py script to c:\Python26\Scripts
    Installing pip-2.6.exe script to c:\Python26\Scripts
    Installing pip-2.6.exe.manifest script to c:\Python26\Scripts
Exception:
Traceback (most recent call last):
  File "c:\Python26\lib\site-packages\pip-0.7.1-py2.6.egg\pip\basecommand.py", line 120, in main
  File "c:\Python26\lib\site-packages\pip-0.7.1-py2.6.egg\pip\commands\install.py", line 165, in run
  File "c:\Python26\lib\site-packages\pip-0.7.1-py2.6.egg\pip\req.py", line 1251, in install
  File "c:\Python26\lib\site-packages\pip-0.7.1-py2.6.egg\pip\req.py", line 466, in commit_uninstall
  File "c:\Python26\lib\site-packages\pip-0.7.1-py2.6.egg\pip\req.py", line 1549, in commit
  File "c:\Python26\lib\shutil.py", line 216, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "c:\Python26\lib\shutil.py", line 216, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "c:\Python26\lib\shutil.py", line 221, in rmtree
    onerror(os.remove, fullname, sys.exc_info())
  File "c:\Python26\lib\shutil.py", line 219, in rmtree
    os.remove(fullname)
WindowsError: [Error 5] Access is denied: 'c:\\users\\mark\\appdata\\local\\temp\\pip-gvsove-uninstall\\python26\\scripts\\pip.exe'

Storing complete log in C:\Users\mark\AppData\Roaming\pip\pip.log

(jm) E:\python\jm>dir c:\Users\mark\AppData\Local\temp\pip-gvsove-uninstall\python26\scripts
 Volume in drive C has no label.
 Volume Serial Number is 74E4-FE9F

 Directory of c:\Users\mark\AppData\Local\temp\pip-gvsove-uninstall\python26\scripts

12/07/2010  11:32 AM    <DIR>          .
12/07/2010  11:32 AM    <DIR>          ..
05/14/2010  05:54 PM             7,168 pip.exe
               1 File(s)          7,168 bytes
               2 Dir(s)  22,824,603,648 bytes free

(jm) E:\python\jm>del c:\Users\mark\AppData\Local\temp\pip-gvsove-uninstall\python26\scripts\pip.exe

Я надеюсь, что кто-то еще нашел способ обойти это. Это не проблема на Linux ....

Ответы [ 6 ]

111 голосов
/ 07 декабря 2010

easy_install -U pip

: -)

62 голосов
/ 20 февраля 2015

Запустите pip как скрипт, используя python в качестве основного исполняемого файла.

python -m pip install -U pip
17 голосов
/ 20 ноября 2012

[ОБНОВЛЕНИЕ 2015-11-15] Это сообщение устарело и устарело. В настоящее время лучшая практика в соответствии с пипс заключается в следующем:

python -m pip install -U pip setuptools

Нет необходимости использовать easy_install из setuptools . Рекомендуемая процедура обновления pip со страницы pip-installer заключается в использовании get-pip.py.

Чтобы установить или обновить пипс, безопасно загрузите get-pip.py.

Вы можете использовать следующее в Bash shell , как msitgit's Git Bash .

user@machine ~$ curl -L https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py | python

Используйте параметр -L для отслеживания перенаправлений. Недавно GitHub изменил URL для необработанного содержимого, поэтому старый raw get-pip.py url был перенаправлен , а на сайте pip URL был изменен . В случае успеха вы должны увидеть следующее:

$ curl -L https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py | python
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1309k  100 1309k    0     0   364k      0  0:00:03  0:00:03 --:--:--  366k
Downloading/unpacking pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-1.5.6-py2.py3-none-any.whl#md5=4d4fb4b69df6731c7aeaadd6300bc1f2
Installing collected packages: pip
  Found existing installation: pip 1.5.4
    Uninstalling pip:
      Successfully uninstalled pip
Successfully installed pip
Cleaning up...

Вы можете изменить это для командной строки Windows, но сначала, если у вас нет libcurl, загрузите бинарный файл Windows из Curl . Вы захотите прокрутить до самого конца и получить текущий официальный бинарный файл Win32 Гюнтера Кнауфа (в настоящее время 7.29) и распаковать его. Не беспокойтесь о том, что он 32-битный или 64-битный. Просто убедитесь, что вы получите тот со всеми прибамбасами (ssl, zlib и т. Д.). Теперь перейдите к папке, в которую вы скачали curl, вероятно, c:\Users\<you>\Downloads, откройте извлеченную папку, вероятно, curl-7.29.0-rtmp-ssh2-ssl-sspi-zlib-idn-static-bin-w32, и вы должны найти curl.exe. Ура! Теперь в оболочке Windows введите это после приглашения (в котором будет указано ваше имя пользователя вместо myusername), заменив path\to\Curl\ на путь к загруженному файлу curl.exe.

C:\Users\myusername> path\to\Curl\curl.exe -kL https://bootstrap.pypa.io/get-pip.py | python

Вам необходим параметр -k, чтобы позволить curl получать доступ к защищенному сайту Pip GitHub без сертификатов. Также, спасибо Петру Доброгосту за сообщение о каналах Windows |, которое сохраняет шаг сохранения файла.

Если у вас уже установлена ​​последняя версия pip, вы получите следующее сообщение:

$ curl https://bootstrap.pypa.io/get-pip.py | python
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1309k  100 1309k    0     0   369k      0  0:00:03  0:00:03 --:--:--  371k
Requirement already up-to-date: pip in c:\python27\lib\site-packages
Cleaning up...

Также отлично работает в virtualenvs.

0 голосов
/ 13 мая 2019

Эй, я только что смог обновить PIP на Python 36 с помощью следующей команды в CMD

python -m pip install --upgrade pip

CMD : Upgrading PIP in Python 36

0 голосов
/ 04 марта 2019

pip install pip --upgrade

enter image description here работал на меня

Примечание: убедитесь, что вы запускаете командную строку в режиме администратора

0 голосов
/ 12 июля 2018

Попробуйте:
Щелкните правой кнопкой мыши Anaconda Prompt (Запуск от имени администратора)

>> conda update pip

(Если вы используете Anaconda. PS: у меня это сработало)

...