2017-07-07 185 views
1

我創建了一個名爲engineapp的新應用程序。在這個應用程序中,有一個文件夾engine這是一個Scrapy項目。無法導入模塊 - ImportError:無模塊

當我嘗試從storage應用程序導入內部top.py文件模型,它返回:

from storage.models import TopItem 
ImportError: No module named storage.models 

或者類似的問題,當我嘗試導入scrapy項目的設置:

from engineapp.engine.engine import settings 

它回報:

from engineapp.engine.engine import settings 
ImportError: No module named engineapp.engine.engine 

這是我運行scrapy pro從命令行ject。

兩個進口都創建了PyCharm本身。

正如你所看到的,我已經在各處添加了__init__(),所以python將能夠識別這些文件。

你知道我應該怎麼做才能導入這些文件?

enter image description here

+0

當你在(Pycharm項目設置')PYTHONPATH env變量中嵌套路徑中的多個文件夾時,我遇到過類似的問題,如同名稱的嵌套包(如'engine')。它是否在Pycharm之外工作? – schwobaseggl

+0

它不在外面工作。正如我所說的,我正在運行命令scrapy crawl spider_name。那就是那些錯誤發生的地方。 PyCharm認爲一切都很好。 –

+0

@MilanoSlesarik等待,它可以在pycharm中運行,但不能從終端運行? –

回答

0

PyCharm自動完成依賴於不同的IDE設置。您已將realstate_scanner標記爲源根目錄,因此PyCharm可以爲此解析導入。從文檔:

These roots contain the actual source files and resources. PyCharm uses the source roots as the starting point for resolving imports.

如果您不能導入在Python一些模塊,應先檢查PATH/PYTHONPATH變量,以確保Python解釋器知道在哪裏可以找到你的模塊。