2011-05-20 133 views
15

我在Eclipse上獲取PyDev以識別已安裝的模塊時出現問題。這是我詳細的方法。該機器是一臺Mac(雪豹)。在eclipse中向Python中的pydev添加python模塊會導致導入錯誤?

在終端的命令

python --version 

顯示的Python 2.6.6

import unidecode 

from unidecode import unidecode 

工作都很好!

我在Eclipse中安裝了PyDev並去配置python解釋器(自動配置)。我選擇了所有建議的套餐並打申請好吧

但是Eclipse不斷抱怨

Traceback (most recent call last): 
    File "/Users/me/Documents/workspace/myproject/python/pythontest.py", line 12, in <module> 
    from unidecode import unidecode 
ImportError: No module named unidecode 

蟒蛇文件看起來像這樣

#!/usr/bin/env python 
# encoding: utf-8 


import sys 
import os 
from unidecode import unidecode 


def main(): 
    print unidecode(u"Ågot Aakra") 

if __name__ == '__main__': 
    main() 

當我刪除在腳本中的第一行

#!/usr/bin/env python 

它導致到了同樣的錯誤。

有人知道問題出在哪裏嗎?

+1

你使用的是virtualenv嗎? – cerberos 2011-05-20 10:17:28

+0

@cerberos:不是我所知。 :-) – Aufwind 2011-05-20 10:28:38

+0

它適用於我沒有任何特殊設置 – joaquin 2011-05-20 10:31:40

回答

25

這是解決我的問題:

  1. 找出路徑,你相應的Python版本的文件夾../site-packages/。 (對我來說是/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/在我的Mac上SNOE豹蟒蛇2.6。)
  2. 打開Eclipse首選項,然後轉到PyDev的 - >解釋 - Python的。請點擊新文件夾
  3. 將相應的python版本導航到../site-packages/
  4. Hit open
  5. Hit Apply
  6. Hit Ok

你應該很好去。 =)

謝謝@all particionts,他們在評論中向正確的方向提供了提示。

+0

不要忘記檢查那裏有東西:)例如scipy沒有安裝默認的python安裝 – Elendurwen 2014-04-23 16:12:57

+0

仍然有效。但另外重新啓動eclipse對我來說是必要的。 – Chris 2014-09-30 13:27:49

0

嘗試使用首選項> pydev> interpreter - python並刪除並重新添加python解釋器(確保在刪除它之前知道它的路徑),重新添加時勾選所有框。

+0

我已經這樣做了。它沒有幫助。我自己找到了解決方案,但是謝謝你的努力。 =) – Aufwind 2011-05-20 19:48:58

2

就在今天我遇到了同樣的問題。我正在使用pydev並且有一個包含許多子包的工作項目。突然在創建了一個新模塊後,我無法在不同的包中使用該模塊。令人費解的特點是,我可以後

  1. 日食重啓
  2. 刪除/添加Python解釋器和所有站點包
  3. 惱火使用另一個模塊在同一子包...

    最後頭刮

我刪除了所有編譯的類與下面的腳本:

import os 

def clean_folder(folder): 
    for file in os.listdir(folder): 
    path = os.path.join(folder,file) 
    if os.path.isdir(path): 
     clean_folder(path) 

    if '.pyc' == file[-4:]: 
     print 'deleting: ' + str(path) 
     os.remove(path) 

if __name__ == '__main__': 
    folder = 'YOUR_PROJECT_SRC_PATH' 
    clean_folder(folder) 

最後我能做的「實際」工作:) 希望它可以幫助別人......

-1

假設你永遠的模塊處於/。

啓動Eclipse並轉到項目選項。選擇「PyDev-PYTHONPATH」 ,在右邊你會看到一個標籤窗口。在那裏選擇外部庫。 單擊添加源文件夾並從上述路徑中選擇您的庫。

0

@Aufwind你的答案上面的幫助,但沒有解決我。

  • 找到文件夾的路徑../site-packages/ ....
  • 打開Eclipse首選項,去的PyDev - >解釋器 - Python的。
  • 在下方框的左側,單擊新建文件夾。 --->這裏我離開了你的指示。我爲未被識別的模塊添加了雞蛋。添加站點包文件夾沒有解決它。
  • 打開。
  • 點擊應用。
  • 點擊確定。

然後我很好走。 =)

1

當Eclipse在您的系統或項目中存在哪些軟件包時,從項目的上下文菜單中選擇'丟失',選擇'Properties'菜單項,然後選擇'PyDev - PYTHONPATH'項目對話框左側的樹形視圖,然後是「強制恢復內部信息」按鈕。看起來,PyDev會保存信息的計算緩存,並且由於任何原因緩存變得不連貫,您可以強制PyDev重新計算。

1

您可以簡單地將模塊添加到pydev路徑。轉到項目屬性(從上下文菜單) - > PyDev - > PYTHONPATH - >外部庫。根據模塊是否位於源文件夾或zip/egg文件中,選擇添加源文件夾或添加zip/jar/egg。導航到site-packages目錄並指向相關的文件或文件夾(我的是:/usr/local/lib/pythonx.x/site-packages)

+0

謝謝!嘗試了這麼多的解決方案,在重新啓動eclipse之後(使用python3),這終於實現了這個訣竅。5在Ubuntu虛擬機中) – sc28 2018-01-27 00:26:30

1

在我的情況下,我在編譯之前沒有收到這個錯誤,但是當我編譯時,我得到了錯誤ImportError:沒有名爲myant.core的模塊。我試圖從PyDev-PYTHONPATH添加文件,但我又得到了同樣的錯誤。然後我意識到我實際上不必將路徑完全添加到我的.py文件所在的文件夾。事實上,我必須添加myant.core所在的文件夾。這樣做後,我重新編譯我的項目時重新啓動,問題已修復。我想分享我:

Python 2.7 Eclipse kepler 4.3, PyDev 3.9.2 and on my ubuntu 14.04

的.py文件地點:/${PROJECT_DIR_NAME}/src/myant/core,所以我加了/${PROJECT_DIR_NAME}/src

0
  1. 打開Eclipse窗口 - >首選項,去的PyDev - >解釋。
  2. 點擊「檢查口譯與環境同步」

這爲我做。無需重新啓動Eclipse。

0

我通過轉到項目屬性 - > PyDev Django 並設置Django設置模塊來解決了這個問題。 enter image description here

0

氧氣2(我認爲它的工作在早期版本中,太)...

  1. 右鍵單擊項目文件夾,選擇 「屬性」
  2. 選擇出「PyDev - 翻譯/語法「
  3. 單擊‘單擊此處以配置沒有列出’
  4. 從配置口譯的頂部列表中選擇任何現有的翻譯的解釋
  5. 應出現「需要選擇」對話框,您必須選擇一個或多個解釋程序進行還原。檢查所有適用
  6. 點擊「確定」和PyDev的重新掃描,並且我認爲,重建你的站點包內部的一些看法
  7. 單擊「應用並關閉」關閉所有對話框

要使導入錯誤標記消失在我的代碼編輯器中,我需要在違規導入後輸入空格然後保存更改。導入錯誤然後消失,因爲PyDev現在可以找到有問題的導入模塊。