Python无法导入openpyxl

时间:2016-01-22 17:22:42

标签: python import openpyxl

我正在运行Windows 7并使用Python 2.7。

我已经使用easy_install安装了openpyxl。看起来安装成功了。我改变了目录并启动了Python。

>>> import openpyxl
>>>

所以,这应该意味着Python能够找到openpyxl。但是,当我执行一个简单的测试程序excell_tutorial1.py并运行它时,我得到以下结果:

Traceback (most recent call last):
File "C:/Python27/playground/excell_tutorial1.py", line 7, in <module>
from openpyxl import Workbook
ImportError: No module named openpyxl

非常混乱!它可以在提示行中找到它,但不能在程序中找到它!

import os, sys

the_module ="C:\\Python27\\Lib\\site-packages\\openpyxl-2.3.3-py2.7.egg\\openpyxl"


if the_module not in sys.path:
    sys.path.append(the_module)

if the_module in sys.path:
    print sys.path.index(the_module)
    print sys.path[18]

所以,这给了我:

18
C:\Python27\Lib\site-packages\openpyxl-2.3.3-py2.7.egg\openpyxl

任何人都可以想到问题可能是什么?

非常感谢

7 个答案:

答案 0 :(得分:1)

尝试从C:\ Python27 \ Lib \ site-packages \

中删除所有openpyxl资料

一旦你这样做,尝试使用pip重新安装它。 (这对我有用)

答案 1 :(得分:1)

有时这可能是一个简单的权限问题。就像我的情况一样。我用我的登录名将它安装在我的本地目录中。

python ./setup.py install 

但是其他一些用户无法导入该模块。 他们收到了这个错误:

ImportError: No module named openpyxl
因此,我只是给了'其他人'的执照权

chmod -R 755 

至少在我的情况下解决了这个问题。

答案 2 :(得分:1)

虽然不是你在这里碰到的(因为你声明你使用的是python 2.7),对于那些遇到这个问题并使用python 3的人来说,你可能会无意中安装到python 2。要强制安装到python 3(而不是2),请使用pip3。

有关详细信息,请参阅此主题: No module named 'openpyxl' - Python 3.4 - Ubuntu

答案 3 :(得分:1)

我使用以下命令代替pip或轻松安装解决了同样的问题:

sudo apt-get install python-openpyxl
sudo apt-get install python3-openpyxl

sudo命令对其他包也更有效。

答案 4 :(得分:0)

转到安装pip的目录,例如C:\ Python27 \ Scripts并打开cmd(只需在地址栏中输入cmd)。现在运行命令“ pip install openpyxl”。它将自行安装软件包。希望这能解决您的问题。

答案 5 :(得分:0)

尝试一下:

!pip install openpyxl

答案 6 :(得分:0)

我在3.8.2上遇到了同样的问题

我发现python安装在机器上的两个位置(可能是py和python,仅是猜测) 在这里:

C:\Users<userAccount>\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8\LocalCache\local-packages\Python38

在这里:

C:\Python38

我删除了C盘中的一个,现在一切正常。在删除之前,我会仔细检查一下您的软件包的安装位置。无论使用哪一种,请保留该一种。

在这种情况下,检查该软件包的安装位置

C:\Users\<userAccount>\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8\LocalCache\local-packages\Python38\site-packages\openpyxl

保留该目录。