2011-12-14 1 views
24

У меня есть ubuntu 11.10. Я apt-get установил pypy из этого хранилища для запуска: https://launchpad.net/~pypy У компьютера уже есть python, и у python есть собственный пип. Как я могу установить pip для pypy и как я могу использовать его иначе, чем python?Как я могу использовать pip с pypy, установленным с панели запуска?

ответ

20

Чтобы сохранить отдельную установку, вы можете создать virtualenv для PyPy. Внутри virtualenv вы можете просто запустить pip install whatever, и он установит его для PyPy. Когда вы создаете virtualenv, он автоматически устанавливает для вас пипс.

В противном случае вам нужно будет решить, где PyPy будет импортировать и устанавливать дистрибутив и пип в одном из этих мест. pip's installer должен делать это автоматически при запуске с PyPy. Будьте осторожны с этой опцией - если она решит установить в ваши системные каталоги Python, это может сломать другие вещи.

+1

Хорошая идея , но - питон или pypy virtualenv? Как мы это создаем? – meshy

+6

'virtualenv myenv -p/path/to/pypy' –

+9

' virtualenv myenv -p \ 'который pypy \' ' –

38

Цитирование (с незначительными изменениями) отсюда pypy website:

Если вы хотите установить 3-библиотеками, самый удобный способ установить пип:

$ curl -O https://bootstrap.pypa.io/get-pip.py 
$ ./pypy-2.1/bin/pypy get-pip.py 
$ ./pypy-2.1/bin/pip install pygments # for example 

В Чтобы использовать его хорошо, вы можете добавить псевдоним, например ~/.bashrc:

alias pypy_pip='./pypy-2.1/bin/pip' 

В случае, если фактическая пип исполняемый файл находится должен быть принят с выхода pypy get-pip.py

+1

ВНИМАНИЕ: в ubuntu он переопределяет/usr/bin/pip в пакете python-pip! – obayhan

+1

Я знаю, что это старый ...но за @obayhan: устанавливает и перезаписывает какой-либо 'pip' в'/usr/local/bin/', который имеет приоритет над'/usr/bin'. 'sudo mv/usr/local/bin/pip/usr/local/bin/pypy-pip' сортирует это (и переустанавливает пипс на локальном, если вам нужно) – urban

3

Проблема с pip установкой из pypy (по крайней мере, при установке pypy с помощью apt-get) является то, что устанавливается в системный путь:

$ whereis pip 
pip: /usr/local/bin/pip /usr/bin/pip 

Так после такой установки, pypy pip по умолчанию выполняется (/ usr/local/bin/pip) вместо python pip (/ usr/bin/pip), который может разорвать последующие обновления всего Ubuntu.

Проблема с virtualenv заключается в том, что вы должны помнить, где и что вы создали.

Удобное альтернативное решение: conda (miniconda), которое управляет не только развертыванием python: http://conda.pydata.org/miniconda.html. Сравнение conda, pip и virtualenv: http://conda.pydata.org/docs/_downloads/conda-pip-virtualenv-translator.html

13

, если вы хотите использовать пип с PyPy:

pypy -m pip install [package] 

пип входит PyPy так просто предназначаться пип с флагом -m

+1

$ pypy -m pip install visual /usr/bin/pypy: Нет модуля с именем pip – poizan42

+1

@ poizan42 скачать get-pip.py и запустить с исполняемым файлом pypy. в противном случае переустановите pypy, поскольку он поставляется с pip. –