質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Q&A

解決済

1回答

5081閲覧

psycopg2がインポートできない

Casablanca_mtg

総合スコア209

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

0グッド

0クリップ

投稿2016/06/06 07:06

使用しているOS: Windows 10
使用しているPCのメーカー/NECLL550/k
関係するアプリケーション名/Python2.7.11
関係する機器の機種名/型番:postgresql-9.6.0-beta1-windows-x64.exe
エラーメッセージなど(原文のまま):psycopg2-2.6.1.win32-py2.7-pg9.4.4-release.exeからダウンロードインストールをいたしました。

-- coding: utf-8 --

import psycopg2

if name == "main":

connector = psycopg2.connect(host="localhost",database="pdb",user="pgusr",password="pgpsw")
cursor = connector.cursor()

sql = "insert into test_table values('1','python')"
cursor.execute(sql)
sql = "insert into test_table values('2','パイソン')"
cursor.execute(sql)
sql = "insert into test_table values('3','ぱいそん')"
cursor.execute(sql)

connector.commit()

cursor.close()
connector.close()

これをtest105.pyで保存してコマンドで実行すると

Traceback (most recent call last):
File "test105.py", line 7, in <module>
connector = psycopg2.connect(host="localhost",database="pdb",user="pgusr",password="pgpsw")
File "C:\Python27\lib\site-packages\psycopg2_init_.py", line 164, in connect
conn = _connect(dsn, connection_factory=connection_factory, async=async)
psycopg2.OperationalError: could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
エラーが出ましてimportされていません
どうすればよいのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

argius

2016/06/06 07:27

エラーメッセージは「サーバーに接続できない」と言っているので、psycopg2が「importできない」わけではないと思います。
Casablanca_mtg

2016/06/06 07:51

サーバーに接続するにはinit.pyのline164部分を修正してやらないとだめなのですかね?PostgreSQL9.4そのものも設定する必要がありますよねCGIにも関連してくる部分が出てくるのでまだほとんど理解できていません
argius

2016/06/06 08:15

そのご質問に対しては「Python側の問題ではないですし、ライブラリー側は基本的に修正しない」です。おそらくPostgreSQLやWindows10側の問題と思われますが、あいにく私のところにWindows10が無いので、直接回答できません。ただ、「インポート」の意味を間違えている気がしますので、質問文を変えないと質問を誤解されてしまう可能性があるかも、というアドバイスです。
Casablanca_mtg

2016/06/06 09:39

ありがとうございます。この部分で何日も止まったままです。ほとんどがLinuXやMacでのサイトが多く今一つ構成が理解できていないのが現状です。ただpsycopg2をinstallすればできると思っていたけど外部モジュールはそれなりに設定しないといけないのでしょうね。http://www.python-izm.com/contents/external/postgresql.shtmlこのサイトで勉強しています。Pythonに組み込まれたモジュールでないのでなかなか理解できません。このあたりを勉強するためにはわかりやすいサイトがあればご紹介ください。よろしくお願いいたします
argius

2016/06/06 09:55

なんか話がかみあってない気がしますが... 私はWindows10を持ってないので、具体的にどうすれば良いのか分からないんです。なので、それ以外の少し分かる部分に少しだけコメントしています。少なくとも、このエラーはimportされていないわけではないので、「psycopg2がインポートできない」というタイトルはおかしいと思います。「Windows10上でPythonからPostgreSQLに接続する」みたいなタイトルに変えたほうが良いと思いますよ。そうすれば、Windows10に詳しい人に回答していただける可能性が上がります。
guest

回答1

0

ベストアンサー

念の為に確認しますが、同じPCにpostgresql がインストールしてあり、

  • pdbというデータベースを作り
  • pgusr というIDにpgpswというパスワードを設定した上で、
  • pdbにアクセスする権限は与えているでしょうか?

投稿2016/06/06 11:05

lightson

総合スコア553

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Casablanca_mtg

2016/06/09 03:38

pdbというデータベースを作り、pdbにアクセスする権限は与えているでしょうか? この部分がまだわかっていません。postgresql の設定がうまくいっていないと思います。
Casablanca_mtg

2016/06/09 03:59

今私の中でPOstgreSQLで設定したパスワード(windowsのアカウント)と__init__.py(140行目)で設定したパスワードがごちゃごちゃになってしまっています。よってPdbをコマンドで作成してパスワードを求められたときpgpswではヒットしません。初心者でいろいろなことがわかっていません。すみません初期設定からやり直します。
Casablanca_mtg

2016/06/10 03:19

ありがとうございます。Postgreを改めて勉強するチャンスをいただきました。再度基本に戻ってPythonとPostgreを別の観点から見直します。基本がわからずして質問する愚かさを再度認識しましたのでアンインストールしてやり直します(9.5.2文書というサイトで詳しく説明がありますのでそれに沿って勉強しなおします。ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問