teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

タグを追加

2017/06/29 03:18

投稿

hotta
hotta

スコア1615

title CHANGED
File without changes
body CHANGED
File without changes

1

進展があったので追記

2017/06/29 03:18

投稿

hotta
hotta

スコア1615

title CHANGED
File without changes
body CHANGED
@@ -42,4 +42,47 @@
42
42
  python に詳しくなくてよくわからないのですが、/usr/lib64 配下にはバイナリ
43
43
  パッケージ、/usr/lib 配下にはソースパッケージが入っているように見えます。
44
44
  rpm で入れるのと(足りない分を)pip で入れたりすることで、何か不整合が
45
- 起こっているということでしょうか?
45
+ 起こっているということでしょうか?
46
+
47
+ 【追記】
48
+
49
+ エラーを出しているところを追ってみました。
50
+ /usr/lib/python2.7/site-packages/ansible/modules/database/postgresql/postgresql_db.py
51
+ を見たら、
52
+
53
+ ```python
54
+ HAS_PSYCOPG2 = False
55
+ try:
56
+ import psycopg2
57
+ import psycopg2.extras
58
+ except ImportError:
59
+ pass
60
+ else:
61
+ HAS_PSYCOPG2 = True
62
+ from ansible.module_utils.six import iteritems
63
+ ...
64
+ if not HAS_PSYCOPG2:
65
+ module.fail_json(msg="the python psycopg2 module is required")
66
+ ```
67
+
68
+ というコードがあったので、試しに以下のようなコードを書いて
69
+
70
+ ```bash
71
+ $ cat a.py
72
+ import psycopg2
73
+ import psycopg2.extras
74
+ ```
75
+ 実行してみたら、
76
+ ```bash
77
+ $ python a.py
78
+ Traceback (most recent call last):
79
+ File "a.py", line 1, in <module>
80
+ import psycopg2
81
+ File "/usr/lib64/python2.7/site-packages/psycopg2/__init__.py", line 50, in <module>
82
+ from psycopg2._psycopg import ( # noqa
83
+ ImportError: /usr/lib64/python2.7/site-packages/psycopg2/_psycopg.so: undefined symbol: PQconninfo
84
+ ```
85
+
86
+ ということになったので、psycopg2 のライブラリが見つからないんじゃなくて、
87
+ import エラーになったということのようです。postgresql を PGDG から入れ
88
+ 直しているので、そのせいのような気がしてきました。もう少し調べてみます。