2017-01-28 16 views
1

私はscrapyクローラを持っています。私はクローラでローカルライブラリを使いたいと思います。Python - ローカルライブラリをインポートできません

だから、ここに私のディレクトリモデルです:

ここ

がbase.pyある

enter image description here

二つの重要なファイルのdb/base.pyと/crawler/spiders/adilisik.pyがあり

ここ
from sqlalchemy import create_engine 
from sqlalchemy.ext.declarative import declarative_base 
from sqlalchemy.orm import sessionmaker 

Base = declarative_base() 

engine = create_engine("mysql+pymysql://xxx:[email protected]/test-db") 
Session = sessionmaker(bind=engine) 
session = Session() 

adilisik.php

からいくつかの行です

しかし、私はこのコードを動作させることができません。

この行は私のコードを壊します。

from crawler.db.base import Base 

私はこのエラーを取得しています:

from crawler.db.base import Base 
ImportError: No module named 'crawler.db' 
Could not load spiders from module 'crawler.spiders'. Check SPIDER_MODULES setting 

私が間違っているのか?

編集1

Moinuddin Quadri's suggestion後、私は、クローラディレクトリにのinitの.pyを作成し、クローラのディレクトリの名前を変更しました。しかし、今、私は

ImportError: No module named 'crawler.settings' 
+0

正しく設定されていれば、settings.pyファイルの場合は、importコマンドを 'import crawler.spiders.settings'にしてください。クローラーディレクトリの__imit__.pyにインポートしたい場合は、 – Alex

答えて

1

__init__.py下のエラーを取得していますが、あなたのクローラディレクトリにありません。空の__init.__.pyを追加すると、crawler.dbモジュールをインポートできます。

また、crawlerという2つのディレクトリがあります(+1つはプロジェクトです)。他のディレクトリの名前を変更して、インポートに関連するエラーが増えている可能性があります。

+0

を編集してください1、あなたの提案は残念ながら私の問題を解決しませんでした。 – fobus

+1

新しいエラー(別)です。プロジェクトの 'settings.py'が不足している可能性があります。私は「治療」に精通していません。だから私はあなたに多くの助けを与えることができません。しかし、完全なスタックトレースを使って別の質問として新しいエラーを投稿すると、ソリューションを入手する機会が増えるかもしれません。 –

+1

私は新しいプロジェクトの設定に関連して非常に一般的な問題になると思います。このエラーを見つけて解決するのに役立ちます –

関連する問題