在 pypy 上安装 pip

问题描述 投票:0回答:5

我想加快我的程序速度,所以我尝试设置 pypy + psycopg2cffi。 该程序打开一个 xml,解析它,然后将一些数据插入数据库。 我目前正在使用 python3、postgresql 和 psycopg2,但这种方法确实很慢。 所以我想尝试使用 pypy + psycopg2cffi 运行我的程序。 我有 python 3 和 pypy,我想安装 psycopg2cffi 所以我运行了这个命令:

pip install psycopg2cffi psycopg2cffi-compat 

但是 psycopg2cffi 仅安装在 python 上,因为当我尝试在 pypy 上导入 psycopg2cffi 时,这是我得到的错误:

ImportError: No module named psycopg2cffi

所以我想我需要先安装 pip,但我可以弄清楚如何做到这一点。

如何在 pypy 上安装它? 谢谢你。

python pip psycopg2 pypy
5个回答
75
投票

您也可以尝试这个(如果您的 Linux 发行版中没有禁用它):

pypy -m ensurepip

50
投票

下载 pip-installer 并使用 pypy 执行它:

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

对于使用尝试,

pypy -m pip install validators

4
投票

对我来说,“pypy -m Ensurepip”不适用于在 Kubuntu 20.04 下使用 apt-get 安装的 pypy3。可能在存储库中被禁用,正如 @SebMa 答案中的评论点。我试图使用 pypy3 运行 sympy,所以我需要 pip 与 pypy3 一起使用。我设法让它与通过 Anaconda 安装的 pypy3 一起工作:

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

这个问题及其答案也很有帮助:如何创建使用 PyPy 的 Conda 环境?


3
投票

我通过

安装了pip
wget https://bootstrap.pypa.io/get-pip.py
pypy3 get-pip.py

然后

pypy3 -m pip install "module"

解决了我的问题。 @kleite 比x


0
投票

我在 Ubuntu 22.04 上使用 pip 和 pypy3。安装“python3-pip”包似乎可以解决问题。

# apt update && \
  apt install software-properties-common && \
  add-apt-repository ppa:pypy/ppa && \
  apt install pypy3

# pypy3 --version
Python 3.9.19 (7.3.16+dfsg-2~ppa1~ubuntu22.04, Apr 26 2024, 13:22:45)
[PyPy 7.3.16 with GCC 11.4.0]

# python3 --version
Python 3.10.12

“python3”是“software-properties-common”的依赖项。

我以为“pypy3-pip”包存在,但是:

# apt install pypy3-pip
E: Unable to locate package pypy3-pip

所以我尝试了“python3-pip”:

# apt install python3-pip

# pypy3 -m pip --version
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.9)

# python3 -m pip --version
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10) 

/usr/lib/python3/dist-packages/*
目录是否与python3和pypy3共享?我不知道。

然后部署一个“venv”并在其中安装包及其依赖项:

# apt install pypy3-venv && \
  pypy3 -m venv .venv && \
  source .venv/bin/activate

(.venv)
# which pypy3 python3 pip3 && pip3 --version
/.venv/bin/pypy3
/.venv/bin/python3
/.venv/bin/pip3
pip 22.0.2 from /.venv/lib/pypy3.9/site-packages/pip (python 3.9)

(.venv)
# apt install libpq-dev pypy3-dev && \
  pip3 install psycopg2cffi psycopg2cffi-compat && \
  pip3 list
...
Successfully installed psycopg2cffi-2.9.0 psycopg2cffi-compat-1.1 ...
Package             Version
------------------- -----------
...
psycopg2cffi        2.9.0
psycopg2cffi-compat 1.1
...

最后,导入“psycopg2cffi”:

(.venv)
# pypy3 -c 'import psycopg2cffi'; echo $?
0

# deactivate

# pypy3 -c 'import psycopg2cffi'; echo $?
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'psycopg2cffi'
1

.

© www.soinside.com 2019 - 2024. All rights reserved.