psycopg2
CentOS 7.3にPython 3をrootとしてインストールしました。私がsu
ルーティングするとき
> python3 -m pip show psycopg2
Name: psycopg2
Version: 2.6.2
Summary: psycopg2 - Python-PostgreSQL Database Adapter
Home-page: http://initd.org/psycopg/
Author: Federico Di Gregorio
Author-email: [email protected]
License: LGPL with exceptions or ZPL
Location: /opt/rh/rh-python34/root/usr/lib64/python3.4/site-packages
Requires:
pip
表示されたディレクトリにインストールされます。根(/opt/rh/rh-python34/root/usr/lib64/python3.4/site-packages
)。
しかし、他のユーザーに切り替えると、Pythonはパッケージを見ることができず、python3 -m pip show psycopg2
何も返されません。これを取得するpyスクリプトを実行しようとするとエラーが発生します。 root以外のユーザーとしてディレクトリに入り、ファイルを読み取ることができることを確認しました。
rootとしてインストールされたPythonパッケージを他のすべてのユーザーに表示するには?
答え1
まずpsycopg2
、パッケージ(sudo pip uninstall psycopg2
)を削除してから、次の操作を行います。
1:
リポジトリからパッケージをインストールしますpython-psycopg2
。
$ sudo yum install python-psycopg2
または
2:
umask
に変更し022
てインストールしてください。psycopg2
$ umask 022
$ sudo pip install psycopg2
答え2
これはPythonパスの問題です。PYTHONPATH
次のように設定されたシステム変数を導入して問題を解決しました/opt/rh/rh-python34/root/usr/lib64/python3.4/site-packages
。
export PYTHONPATH=/opt/rh/rh-python34/root/usr/lib64/python3.4/site-packages