Установить pip на pypy

Я хочу ускорить свою программу, поэтому я пытаюсь настроить pypy + psycopg2cffi. Эта программа открывает xml, анализирует его, а затем вставляет некоторые данные в базу данных. В настоящее время я использую python3, postgresql и psycopg2, но этот подход очень медленный. Итак, я хочу попробовать запустить свою программу с помощью pypy + psycopg2cffi. У меня есть python 3 и pypy, и я хочу установить psycopg2cffi, поэтому я выполнил эту команду:

pip install psycopg2cffi psycopg2cffi-compat 

Но psycopg2cffi был установлен только на python, потому что, когда я пытаюсь импортировать psycopg2cffi на pypy, я получаю ошибку:

ImportError: No module named psycopg2cffi

Итак, я думаю, мне нужно сначала установить pip, но я могу понять, как это сделать.

Как я могу установить его на pypy? Спасибо.


person 1pa    schedule 20.02.2017    source источник
comment
См. doc.pypy.org/en/latest/install.html. # install-more-modules. Также обратите внимание, что официально выпущенный PyPy-for-3.x старый и медленный; лучше дождитесь следующего (или используйте PyPy-for-2.7).   -  person Armin Rigo    schedule 20.02.2017
comment
когда я пытаюсь запустить ./usr/bin/pypy -m ensurepip, я получаю эту ошибку ensurepip is disabled in Debian/Ubuntu for the system python. Python modules For the system python are usually handled by dpkg and apt-get. apt-get install pypy-<module name> Install the python-pip package to use pip itself. Using pip together with the system python might have unexpected results for any system installed module, so use it on your own risk, or make sure to only use it in virtual environments. @ArminRigo   -  person 1pa    schedule 20.02.2017
comment
IMO, единственный разумный способ использования pypy3 в Debian / Ubuntu - создать для него virtualenv, используя что-то вроде virtualenv -p pypy3 pypy3-env. (Обратите внимание, что последняя версия virtualenv, работающая на CPython2, отлично подходит для создания сред pypy3.)   -  person Ronan Lamy    schedule 20.02.2017
comment
Спасибо!! @RonanLamy Теперь у меня pip: /usr/local/bin/pip /usr/local/bin/pip2.7 /home/p/Desktop/pypy-env/bin/pip /home/p/Desktop/pypy-env/bin/pip2.7 /home/anaconda3/bin/pip, и даже с pip я не могу установить psycopg2cffi на pypy, почему?   -  person 1pa    schedule 20.02.2017
comment
@ 1pati2 Вы активировали virtualenv? Какую ошибку вы получаете?   -  person Ronan Lamy    schedule 20.02.2017
comment
@RonanLamy да, я написал source activate pypy-env `   -  person 1pa    schedule 20.02.2017
comment
@RonanLamy, затем pip install psycopg2cffi psycopg2cffi-compat, и я получаю эту ошибку: `Command / home / p / Desktop / pypy-env / bin / pypy -u -c import setuptools, tokenize; __ file __ = '/ tmp / pip-build-ron22 / psycopg2cffi /setup.py';f=getattr(tokenize, 'open', open) (файл); code = f.read (). replace ('\ r \ n', '\ n' ); f.close (); exec (compile (code, file, 'exec')) install --record /tmp/pip-cGNmfN-record/install-record.txt --single- версия с внешним управлением --compile --install-headers /home/p/Desktop/pypy-env/include/site/python2.7/psycopg2cffi завершилась неудачно с кодом ошибки 1 в / tmp / pip-build-ron22h / psycopg2cffi /   -  person 1pa    schedule 20.02.2017
comment
@ 1pati2 Обновить pip (pip install -U pip) и посмотреть, поможет ли это (например, путем получения менее загадочной ошибки)? Если нет, вам, вероятно, следует спросить у сопровождающих psycopg2cffi.   -  person Ronan Lamy    schedule 21.02.2017
comment
pip_pypy работает? В зависимости от того, как он был установлен, PyPy поставляется со своим собственным пипом, который можно запустить с pip_pypy.   -  person numbermaniac    schedule 13.03.2017


Ответы (4)


Вы также можете попробовать это (если оно не отключено в вашем дистрибутиве Linux):

pypy -m ensurepip
person SebMa    schedule 24.06.2017
comment
Отлично работает, избавляет от необходимости загружать get-pip.py. Также работает в Windows. - person gaborous; 05.08.2017
comment
Почему это отключено в некоторых дистрибутивах Linux и как его можно включить? - person Jonathan W.; 11.10.2019
comment
Это так чертовски просто, что это прекрасно. - person Næreen; 04.03.2021

Загрузите установщик pip и запустите его с помощью pypy:

wget https://bootstrap.pypa.io/get-pip.py
./pypy get-pip.py

Для использования попробуйте,

pypy -m pip install validators
person Mohamed Gamal    schedule 06.05.2017
comment
На моем win10 (1809) и PyPy 7.3.1 get-pip.py вылетал при компиляции. - person Chang Qian; 16.04.2020

Для меня pypy -m surepip не работал с pypy3, установленным с помощью apt-get под Kubuntu 20.04. Вероятно, отключено в репозитории, как указано в комментариях в ответе @SebMa. Я пытался запустить sympy с pypy3, поэтому мне нужен был pip, работающий с pypy3. Мне удалось заставить его работать с pypy3, установленным с Anaconda:

conda config --set channel_priority strict
conda create -n pypy3 -c conda-forge pypy3.6
conda activate pypy3
pypy3 -m ensurepip
pypy3 -m pip install sympy

Этот вопрос и ответы на него также были полезны: Как создать среду Conda, использующую PyPy?

person kleite    schedule 05.01.2021

Я установил pip через

pypy3 get-pip.py

тогда

pypy3 -m pip install "module"

решил мою проблему. @kleite, спасибо

person Ekremus    schedule 12.03.2021