2015-11-19 36 views
5

pythonコードからredshiftに接続しようとしています。NoSuchModuleError:プラグインを読み込めません:sqlalchemy.dialects:redshift.psycopg2

psycopg2==2.6.1 
redshift-sqlalchemy==0.4.1 
SQLAlchemy==1.0.9 

と私の仮想マシンがあります: 私のピップがインストール

libpq-dev 
python-psycopg2 

しかし、私はまだ同じ設定で

engine = create_engine('redshift+psycopg2://{}:{}@{}'.format(username, password, url)) 
    File "/opt/project/env/local/lib/python2.7/site-packages/sqlalchemy/engine/__init__.py", line 386, in create_engine 
    return strategy.create(*args, **kwargs) 
    File "/opt/project/env/local/lib/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 51, in create 
    entrypoint = u._get_entrypoint() 
    File "/opt/project/env/local/lib/python2.7/site-packages/sqlalchemy/engine/url.py", line 131, in _get_entrypoint 
    cls = registry.load(name) 
    File "/opt/project/env/local/lib/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 205, in load 
    (self.group, name)) 
NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:redshift.psycopg2 

を取得しています、私は私のラップトップから実行することができています(マック)、しかし、Linuxで、私はまだいくつかのパッケージがないと思いますか?どんな提案も感謝します。ありがとう!

+0

申し訳ありませんが、以前のポストは実際に動作しません。 –

+0

redshift.psycopg2で苦労し、postgresql + psycopg2を直接使用するのではなく、うまく動作します:) –

+0

この問題の正確な解決方法は何ですか? redshiftで接続する必要があり、postgresql + psycopg2が機能しません。 – Sarang

答えて

0

下記のリンクは、私は同じ問題を抱えていたと私はredshift_sqlalchemyパッケージに__pycache__ディレクトリを削除するとき、私はそれを解決し

http://sobhan06k.blogspot.in/2014/11/reach-redshift-using-python-library.html

+0

Mukundありがとうございますが、送信したリンクが存在しないようです。私のプロジェクトはsqlalchemyに依存しています。これらのパッケージをLinux上で動作させる方法を理解するために、私たちはたくさん使っています。私は変更するほどのことはないと信じていますが、ちょうどどこかを見つける必要があります:( –

+0

リンクが最後に.htmlが抜けていた、今すぐチェックしてください – Mukund

0

SQLの錬金術依存せずにpsycopg2ライブラリを使用してPythongを経由して赤方偏移に接続するのに役立ちます。

私の場合、site-packegesは私のvirtualenvにあります。

従ってcdvirtualenvおよびcd lib/python3.5/site-packages/redshift_sqlalchemy最後にrm __pycache__

+0

こんにちは、__pycache__ディレクトリを削除しようとしました。プラグインをロードできません:sqlalchemy.dialects:redshift.psycopg2 – Sarang

+0

サービスを再開しましたか?次の手順を教えてください – paridin

+0

@ paridinどのサービスを再起動するのですか? 現時点では、 – Sarang

0

NoSuchModule例外を取得するには、db接続文字列の形式が間違っていることがあります。私の場合は私が

DB_URI = 'pg8000://...' 

DB_URI = 'postgresql://...' 

を変更したときに、このエラーを得たが、次のようになります。

DB_URI = 'postgresql+pg8000:// 
関連する問題