PyPy:“ImportError:没有名为xlrd的模块”

时间:2017-04-19 14:50:41

标签: python-2.7 xlrd pypy

我在Ubuntu 14.04上使用PyPy 2.2.1。

我想在我的程序中使用xlrd模块,但是用pypy运行编程会引发导入错误。我该如何解决这个问题?

2 个答案:

答案 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 }:

  1. 首先cdDownloads
  2. cd ~/Downloads

    1. 使用wget
    2. 下载get-pip.py脚本

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

      1. pypy
      2. 下使用sudo运行脚本

        sudo pypy get-pip.py

        1. 然后安装xlrd
        2. sudo pypy -m install xlrd

          我希望这证明有用。

答案 1 :(得分:1)

你可能需要为PyPy安装一个新的pip,因为它有一个不同的存储模块空间。