есть идеи, как обновить python PIP в окне windows?


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

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

(jm) E:pythonjm>c:Python26Scriptspip 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:Python26Scripts
    Installing pip.exe script to c:Python26Scripts
    Installing pip.exe.manifest script to c:Python26Scripts
    Installing pip-2.6-script.py script to c:Python26Scripts
    Installing pip-2.6.exe script to c:Python26Scripts
    Installing pip-2.6.exe.manifest script to c:Python26Scripts
Exception:
Traceback (most recent call last):
  File "c:Python26libsite-packagespip-0.7.1-py2.6.eggpipbasecommand.py", line 120, in main
  File "c:Python26libsite-packagespip-0.7.1-py2.6.eggpipcommandsinstall.py", line 165, in run
  File "c:Python26libsite-packagespip-0.7.1-py2.6.eggpipreq.py", line 1251, in install
  File "c:Python26libsite-packagespip-0.7.1-py2.6.eggpipreq.py", line 466, in commit_uninstall
  File "c:Python26libsite-packagespip-0.7.1-py2.6.eggpipreq.py", line 1549, in commit
  File "c:Python26libshutil.py", line 216, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "c:Python26libshutil.py", line 216, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "c:Python26libshutil.py", line 221, in rmtree
    onerror(os.remove, fullname, sys.exc_info())
  File "c:Python26libshutil.py", line 219, in rmtree
    os.remove(fullname)
WindowsError: [Error 5] Access is denied: 'c:usersmarkappdatalocaltemppip-gvsove-uninstallpython26scriptspip.exe'

Storing complete log in C:UsersmarkAppDataRoamingpippip.log

(jm) E:pythonjm>dir c:UsersmarkAppDataLocaltemppip-gvsove-uninstallpython26scripts
 Volume in drive C has no label.
 Volume Serial Number is 74E4-FE9F

 Directory of c:UsersmarkAppDataLocaltemppip-gvsove-uninstallpython26scripts

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:pythonjm>del c:UsersmarkAppDataLocaltemppip-gvsove-uninstallpython26scriptspip.exe

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

4 52

4 ответа:

easy_install -U pip

: -)

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

python -m pip install -U pip

[обновление 2015-11-15] это сообщение устарело и устарело. Текущая передовая практика по данным ПГИ использовать следующий:

python -m pip install -U pip setuptools

это не обязательно использовать easy_install С setuptools. Рекомендуемая процедура обновления pip, начиная с pip-installer страница должна использовать get-pip.py.

для установки или обновление pip, надежно скачать get-pip.py.

вы можете использовать следующие в оболочки Bash как msysgit's Git Bash.

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

использовать -L возможность следовать перенаправляет. Недавно GitHub изменил url для необработанного контента, так что старый сырой 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 binary Гюнтера Кнауфа (в настоящее время 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\ путь к загруженному .

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

вам нужно -k возможность разрешить curl для доступа к защищенному сайту GitHub pip без сертификатов. Кроме того, Спасибо Петр Доброгоста для того, чтобы рассказать мне о 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.

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

>> conda update pip

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