Як встановити останню версію pip, коли я вже встановив наданий Ubuntu?


18

У Ubuntu 16.04, коли ви робите:

pip install --upgrade pip

Ви отримуєте:

Collecting pip
  Using cached pip-8.1.2-py2.py3-none-any.whl
Installing collected packages: pip
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Справедливо. Тепер спробуйте

pip install --upgrade pip

і ви отримуєте:

Collecting pip
  Using cached pip-8.1.2-py2.py3-none-any.whl
Installing collected packages: pip
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Отже, як насправді отримати pip 8.1.2?


Чи sudo -H pip install --upgrade pipпрацює?
edwinksl

@edwinksl: він дає ті самі результати, що й інші команди.
user2413

Це здається дивним, оскільки воно працювало на мене. Можливо, потрібно подати звіт про помилку.
edwinksl

@edwinksl: дякую. Почекаю ще пару днів і зроблю це>
user2413

1
@edwinksl Щойно відкрив проблему на випадок, якщо хтось хоче її відстежити.
sethmlarson

Відповіді:


13

Оновити системний пітон не дуже добре, якщо ви фактично не працюєте над кодом ubuntu і не маєте конкретної причини. Існує багато системних залежностей, які можна усунути, оновивши pip, а не використовуючи lib python у сховищі APT.

Якщо ви розробляєте програми python і вам потрібно змінити версії бібліотек, вам слід скористатися або -user опціями, щоб скопіювати, або створити virtualenv для зберігання своїх версій користувачів.

Обидва ці способи витончено перейдуть до використання системних бібліотек, якщо у них немає власних копій, у virtualenv є більше варіантів того, як контролювати цей зворотний зв'язок.

піп з --користувачем

Це так просто, як просто додавання --user до кінця всіх ваших команд pip, це додасть ваші python libs до ~ / .local / lib / pythonX.X (де XX - номер вашої версії python), вони будуть розглянуті адже тут спочатку просто будьте обережні, щоб зробити це для root, якщо вам доведеться запускати через sudo, оскільки це може вплинути на системний пітон.

virtualenv

Це працює аналогічно описаному вище, але менш прив’язаний до конкретного користувача, тому не має обмеження sudo, ви також можете клонувати virtualenv та оновити його для тестування змін, що дозволяє вам повернутись, якщо він смокче. http://docs.python-guide.org/en/latest/dev/virtualenvs/


1
Ви дійсно хочете зробити альт-інсталяцію python, якщо хочете 2.7, тому ви не будете заважати пітону ОС. Звідти вам потрібно оновити pip в alt install перед venv. Ви також хочете --no-cache-dir, щоб запобігти встановленню кешованої версії.
Вірмвуд

Оновлення піп не впливає негативно (у будь-якому разі) на python 2.7, який за замовчуванням поставляється.
відбувся

10

Здається, це може бути проблемою з встановленням .whl файлу для pip8.1.2. pipОбхід для встановлення 8.1.2 - це завантажити джерело безпосередньо з PyPi та встановити його через setup.py.

Для мене працювало наступне:

wget https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-8.1.2.tar.gz
tar -xzvf pip-8.1.2.tar.gz
cd pip-8.1.2
sudo python setup.py install

Це, звичайно, не є рішенням встановити pip 8.1.2 через pip install --upgrade, але слід видавити попередження, поки ця проблема не буде вирішена .


Існує коментар до цього потоку, який дозволяє припустити, що це частково пов'язане з ubuntu виправлення їх упакованої версії pip, щоб зупинити його оновлення apt встановлених пакетів.
Амія

5

sudo -H python -m pip install --upgrade pipвирішить ваше питання. Як згадував хтось вище, хоча для певних речей для системи потрібен python 2.7 ... Тож, можна сказати, ви можете оновити pip без негативного впливу на це, але ви також можете встановити 3,5, якщо хочете.

-Hце прапор для того, sudoщо прохання про те , що політика безпеки встановіть змінну HOME середовища в домашній директорії , зазначеної в запису бази даних пароль цільового користувача. Залежно від політики, це може бути поведінка за замовчуванням.


Якщо хтось хоче оприлюднити продуману публікацію на кшталт цього, ви дійсно повинні сказати, чому це погана форма.
javadba

Тому що вони гніваються і їм потрібно збуджувати гнів на когось. Сердиться на те, що ви просите, життя взагалі. стек переповнення перетворилися в ніщо , але місце , щоб прийти і гоніння.
скорботний

2

Видаліть pip за допомогою apt-get та встановіть його за допомогою easy_install. Це працювало для мене.

sudo apt-get remove python-pip
sudo easy_install pip

easy_install не вдається. Я отримую bash: /usr/bin/pip: No such file or directory. І я також не можу очистити піп. Я сподіваюся, що це не повністю зламало піп на моїй машині.
Дін Шульце
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.