我在Ubuntu 14.04上使用PyPy 2.2.1。
我想在我的程序中使用xlrd
模块,但是用pypy运行编程会引发导入错误。我该如何解决这个问题?
答案 0 :(得分:4)
PyPy
有自己的site-packages
路径,应该(默认情况下)与CPython
安装site-packages
的路径不同。就像它适用于CPython
以便轻松安装软件包一样,最好的办法是为pip
版本安装PyPy
。
开始pip
安装过程(如果尚未安装)的最快方法是检查是否安装了模块ensurepip
。这是通过打开命令行实例,启动PyPy
REPL
(命令pypy
应该执行)并使用import ensurepip
检查自己来完成的。如果模块安全导入,那么您很幸运,应该可以继续为pip
设置PyPy
。在REPL
仍处于打开状态并导入ensurepip
的情况下,请运行以下命令:
ensurepip.bootstrap(upgrade=True)
上面的代码行应为pip
安装安装PyPy
。接下来,您应退出REPL
并将当前目录更改为bin
安装的PyPy
文件夹。对于ubuntu,这通常位于/usr/lib/pypy/bin
。根据您的PyPy
版本,该路径可能略有不同:您可能会使用/usr/lib/pypy/bin
或/usr/lib/pypy2.2.1/bin
来代替/usr/lib/pypy221/bin
。只要确保你知道这一点。总之,在您的命令行中运行时,以下内容应该为您安排xlrd
安装:
cd /usr/lib/pypy/bin
sudo ./pip install xlrd
或者您可以(仍然在命令行中):
pypy -m pip install xlrd
如果以上 顺利运行,则应为xlrd
安装PyPy
。您可以打开PyPy
REPL
并尝试导入xlrd
来仔细检查。
当然,如果PyPy
未安装ensurepip
模块,则尝试设置pip
可能不会太有趣。但如上所述,安装ensurepip
可能会帮助您设置pip
,从而安装您希望为PyPy
安装的任何软件包。
但是,如果您的PyPy
安装没有ensurepip
,那么从命令行运行时,以下内容应该有助于设置pip
,然后安装xlrd
}:
cd
到Downloads
cd ~/Downloads
wget
wget https://bootstrap.pypa.io/get-pip.py
pypy
sudo
运行脚本
醇>
sudo pypy get-pip.py
xlrd
sudo pypy -m install xlrd
我希望这证明有用。
答案 1 :(得分:1)
你可能需要为PyPy安装一个新的pip,因为它有一个不同的存储模块空间。