2016-01-22 808 views
1

我正在運行Windows 7並使用Python 2.7。Python無法導入openpyxl

我已經使用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 

任何人都可以想到的是什麼問題呢?

非常感謝

+0

你是從'python excell_tutorial1.py'還是''excell_tutorial1.py'從命令行開始,即通過可執行文件與文件擴展名的關聯? –

+0

問題不在了!而且,我什麼也沒做。當我發佈這個問題時,由於某種原因,PYTHONPATH是空的,而sys.path不是,我不能寫入PYTHONPATH。然後,今天早上突然間,一切都奏效了。 PYTHONPATH不再是空的,安裝後的小測試程序就可以工作。感謝您花時間回覆@MikeMüller – EarlyCoder

+0

也許某種程度上您意外刪除了PYTHONPATH中的所有條目。今天,您打開了一個新的shell(cmd窗口),並從您的設置中獲取了PYTHONPATH。 –

回答

1

嘗試從C刪除所有openpyxl材料:\ Python27 \ LIB \站點包\

一旦你這樣做嘗試使用PIP它重新安裝。 (這對我有用)

1

有時這可能是一個簡單的權限問題。就像我的情況一樣。我用我的登錄名將它安裝在本地目錄中。

python ./setup.py install 

但是其他一些用戶無法導入模塊。 他們收到此錯誤:

ImportError: No module named openpyxl 

因此,我只是給了exe文件允許「其他」

chmod -R 755 

,在我的情況下,至少解決了這個問題。

0

雖然不是你在這裏遇到的(因爲你聲明你使用的是Python 2.7),對於那些遇到這個問題並且正在使用python 3的人來說,你可能會無意中安裝到python 2。要強制安裝到python 3(而不是2),請改用pip3。

更多信息請參見本主題: No module named 'openpyxl' - Python 3.4 - Ubuntu

1

我已經解決了使用,而不是PIP同樣的問題或容易安裝下列命令之一:

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

sudo命令也適用於更好其他包。