これは本当に簡単な質問かもしれませんが、解決策はわかりません。 postgresqlに接続しようとすると、ここで何が起こっていますか?私はこのデータベースとプログラミングの分野で自習していますので、優しくしてください。次のコードを試してみると:
import sqlalchemy
db = sqlalchemy.create_engine('postgresql:///tutorial.db')
私はこのエラーを受け取ります:
トレースバック(最後の最後の呼び出し):ファイル ""、行1、db = sqlalchemy.create_engine( 'postgresql:///tutorial.db')ファイル "C:\ Python27\lib\site-packages\sqlalchemy-0.7。 5dev-py2.7.Egg\sqlalchemy\engine__init __。py "、行327、create_engineのreturn strategy.create(* args、** kwargs)ファイル" C:\ Python27\lib\site-packages\sqlalchemy-0.7.5dev -py2.7.Egg\sqlalchemy\engine\strategies.py "、64行目、create dbapi = dialect_cls.dbapi(** dbapi_args)File" C:\ Python27\lib\site-packages\sqlalchemy-0.7.5dev- py2.7.Egg\sqlalchemy\dialects\postgresql\psycopg2.py "、行289、dbapi psycopg = import( 'psycopg2')ImportError:psycopg2という名前のモジュールはありません
Psycopg2を個別にインストールする必要がありますか? postgresqlの正しい接続文字列は何ですか?
はい、psycopg2は基本的にPython PostgreSQL用のドライバーであり、個別にインストールする必要があります。
有効な接続文字列のリストはここにあります、あなたのものは少しオフです(以下のリンクで指定されているユーザー名、パスワード、ホスト名が必要です):
http://docs.sqlalchemy.org/en/latest/core/engines.html#postgresql
pip install SQLAlchemy
およびpip install psycopg2
が必要です。 psycopg2を使用するSQLAlchemy接続文字列の例:
from sqlalchemy import create_engine
engine = create_engine('postgresql+psycopg2://user:password@hostname/database_name')
Psycopg2ドライバーのみを使用してデータベースに接続することもできます。
import psycopg2
conn_string = "Host='localhost' dbname='my_database' user='postgres' password='secret'"
conn = psycopg2.connect(conn_string)
ただし、psycopg2ドライバーを使用して接続すると、SQLAlchemyを利用できません。
はい、psycopg2を個別にインストールする必要があります。Linuxを使用している場合は、ターミナルに次の行を入力するだけです:$pip install psycopg2
これが機能しない場合は、Sudoを使用してみてください:$Sudo pip install psycopg2