【问题标题】:xlrd import issue with Python 2.7Python 2.7 的 xlrd 导入问题
【发布时间】:2013-10-24 19:21:40
【问题描述】:

我有一个任务是在 Python 中读取 excel 数据。我安装了 Python 2.7。我尝试在 Windows 中使用以下命令安装 xlrd0.8.0。

C:\Python27\xlrd-0.8.0>python setup.py build
running build
running build_py
creating build
creating build\lib
creating build\lib\xlrd
copying xlrd\biffh.py -> build\lib\xlrd
....


C:\Python27\xlrd-0.8.0>python setup.py install
running install
running build
running build_py
running build_scripts
running install_lib
running install_scripts
running install_egg_info
Writing C:\Python27\Lib\site-packages\xlrd-0.8.0-py2.7.egg-info

安装时我没有收到任何错误消息。我还在 /lib 文件夹中的站点包中看到 xlrd-0.8.0 文件夹...

但是当我尝试导入它时,Python 无法识别它...

>>> import xlrd
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
import xlrd
ImportError: No module named xlrd

您能建议如何找到问题吗?

【问题讨论】:

  • 你正在做的IDLE版本是import xlrd在使用与命令行相同的Python吗?
  • 我尝试打开另一个 IDLE 会话,看起来它工作正常。另一个 IDLE 有 Python 2.7.2.5,而有问题的是 2.7.5...
  • 打开一个交互式 python shell。 import sys; print sys.path 这会返回什么?它将向您显示它正在检查模块的所有路径。确认您的库位于其中一个路径中。
  • 是的......它工作......谢谢大家

标签: python python-2.7 xlrd


【解决方案1】:

python -m pip install xlrd

对于我的情况,我同时安装了 python2 和 python3,pip install xlrd 默认将 xlrd 安装到 Python3 库中(/usr/local/lib/python3.6/site-packages/xlrd/。通过为 pip install 指定 python2 解决了我的问题。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,如果将 xlsx 导出到 csv 文件然后在 python 上运行以下命令似乎会更好

    df = pd.read_csv('FileName.csv')
    

    它应该像那样工作。如果您使用的是 iPython 甚至更好的 Jupyter,请运行 df.head() 以检查 pandas 是否正确读取您的表格。

    注意,我使用的是 Ubuntu

    【讨论】:

      【解决方案3】:

      如何重现和修复此错误:

      打开python解释器,尝试导入xlrt,报错:

      python
      >>> import xlrt
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      ImportError: No module named xlrt
      

      1.安装,或确保已安装 pip:

      What is the official "preferred" way to install pip and virtualenv systemwide?

      2。安装 xlrd

      pip install xlrd
      

      Protip:如果你觉得你必须使用sudo pip install .... 才能让它工作,那么你需要停下来并了解为什么这是危险的。见:What are the risks of running 'sudo pip'?

      解决方法是使用特定用户安装 pip:pip install --user myuser ... 在此处使用您自己的最佳判断。确保您的 pip 正在运行的目录归试图在那里安装软件包的用户所有。使用:chown -R $USER /Library/Python/2.7/site-packages

      3.在 python 解释器上测试它:

      python
      >>> import xlrd
      
      >>> type(xlrd)
      <type 'module'>
      >>>
      

      现在导入没有问题,xlrd是python模块。

      疑难解答:

      如果你的 PYTHONPATH 没有定义,你应该定义它:

      PYTHONPATH=:/home/el/wherever/where_to_find_modules
      

      【讨论】:

      【解决方案4】:

      如果您使用的是 conda,

      conda install xlrd
      

      【讨论】:

        【解决方案5】:

        对我来说,在 Mac 上的 spyder 中运行 python,即使在我使用 pip 安装 xlrd 后它也无法正常工作,因为它安装到了与那个不同的位置 spyder 正在使用。为了解决这个问题,我首先找到了xlrd 的安装位置:

        $pip install xlrd
        Requirement already satisfied: xlrd in /usr/local/lib/python2.7/site-packages
        

        然后将xlrd 文件夹从那里复制到Spyder 可以访问它的位置:

        $cd /Applications/Spyder.app/Contents/Resources/lib/python2.7/
        $cp -r /usr/local/lib/python2.7/site-packages/xlrd.
        

        然后更新了 spyder 中的模块,但我不确定这是否有必要。进行这些更改后,重新启动 Spyder 可能也有效。

        【讨论】:

          【解决方案6】:

          解决 Python 2.7 中的 xlrd 导入问题

          打开此链接https://bootstrap.pypa.io/get-pip.py 并保存为get-pip.py 并将此文件复制到C:\Python2.7\

          C:\Python2.7\python.exe get-pip.py
          

          在您的系统中安装此 pip 后,现在正在安装 xlrd

          C:\Python2.7\python.exe -m pip install xlrd
          

          打开python并导入xlrd

          import xlrd
          

          它会起作用的。

          【讨论】:

          • 为我工作,路径不是 C:\Python,而是 - C:\Users\MyUserName\AppData\Local\Programs\Python\Python36-32 ,但它有效,谢谢!
          【解决方案7】:

          请在您的系统变量中将“C:\Python27\Lib\site-packages\”添加到您的 PYTHONPATH。

          如果没有这样的系统变量,请创建它:

          1. 右键单击桌面上的“我的电脑”图标并选择“属性”。
          2. 单击“高级”选项卡,然后单击“环境变量”按钮。
          3. 在系统变量下,单击新建。
          4. 输入变量名作为 PYTHONPATH。
          5. 将变量值输入为 C:\Python27\Lib\site-packages\
          6. 点击确定。
          7. 单击应用更改。

          【讨论】:

            猜你喜欢
            • 2014-01-08
            • 2019-12-07
            • 1970-01-01
            • 2013-11-28
            • 1970-01-01
            • 1970-01-01
            • 2016-10-22
            • 2018-09-28
            • 1970-01-01
            相关资源
            最近更新 更多