在PyPy下安装Python eggs

16 投票
1 回答
8030 浏览
提问于 2025-04-16 16:59

我该如何在PyPy下安装Python egg?

在安装的时候,PyPy创建了一个目录 /usr/lib64/pypy-1.5/site-packages/。所以,我尝试使用easy_install,并把前缀设置为这个目录,但它却说这个目录不是一个有效的egg目录。我是不是应该直接把egg从 /usr/lib/python2.7/site-packages 复制过来,还是说只需要用easy_install(可能需要做一些配置更改)就可以了?

我的工作环境是Fedora 15 Beta,Python版本是2.7.1(在 /usr/bin/python),PyPy版本是1.5.0-alpha0,使用GCC 4.6.0(在 /usr/bin/pypy,通过yum安装的RPM),easy_install的版本是:distribute 0.6.14(在 /usr/bin/easy_install)。

1 个回答

14

首先,你需要确保你安装了专门为PyPy准备的distribute。关于Fedora的打包方式我不太清楚,但一般来说,为CPython安装的包并不一定能在PyPy上使用。特别是,/usr/bin/easy_install很可能只适用于CPython。

如果你使用的是“正常”的PyPy安装,目录结构大致是这样的:

  • /opt/pypy-1.5/
    • bin/
    • site-packages/
    • lib-python/
    • lib_pypy/

接下来,你可以下载这个链接中的文件:http://python-distribute.org/distribute_setup.py,然后执行它:

$ /opt/pypy-1.5/bin/pypy distribute_setup.py

现在,你应该在/opt/pypy-1.5/bin/目录下有了easy_install,这个工具会把包安装到/opt/pypy-1.5/site-packages目录里。

不过,我对Fedora中PyPy的打包方式并不清楚。如果它只是简单地安装在/usr/bin下,那么安装distribute可能会覆盖掉原来的CPython的/usr/bin/easy_install。

撰写回答