2016-09-27 123 views
0

我無法在python模塊上導入類。Python導入錯誤:'無法導入名稱'

這裏是我的目錄結構:在該行

_wikiSpider 
    +scrapy.cfg 
    _wikiSpider 
    +__init__.py 
    +items.py 
    +items.pyc 
    +settings.py 
    +settings.pyc 
    +pipelines.py 
    _spiders 
    +__init__.py 
    +__init__.pyc 
    +articleSpider.py 
    +articleSpider.pyc 
    +items.py 

代碼遊:

from wikiSpider.items import Article 

林不知道爲什麼,因爲類的文章是items.py(最深的文件夾)

定義

有人可以給我一個解釋嗎?

+0

嘗試刪除pyc文件並重新運行 – MrPandav

+0

也。爲什麼您有兩個項目class ij wikiSpider和一個在Spider目錄 – MrPandav

+0

不幸的是沒有工作... – Jacs

回答

1

您在根和_spiders文件夾中都有items.py。要引用子文件夾中的文件,您需要文件夾名稱和文件。

從_spiders.items進口第二十

假設進口該代碼的文件是在你的根目錄下。 Python使用你在這裏,當前的文件位置,因爲它是目錄層次結構。

0
from main wikiSpider directive try: 

from _wikiSpider._spiders.items import Article 


orelse from terminal open your _spiders directive and try: 

from items import Article 

這裏我們要打開我們創建Article類的items.py文件,所以當你給了一些錯誤的指示或文件時,它無法找到您所創建的items.py文件,因此它顯示「無法導入錯誤'

1

與其他人一樣,我沒有循環引用問題。儘管如此,我想在這裏概括一下這個解決方案。

任何文件名衝突都可能導致此問題。你可以有多個同名的子文件(如上)。

或者它可能是你在

例如,工作文件:trello.py作爲寵物項目。 from trello import TrelloApi

導入引用將在導入pip安裝包之前導入自身。嘗試直接導入trello和引用對象將失敗,並且「NameError:name」未定義「

相關問題