Python 3では、他のユーザーのrootとしてインストールされたパッケージを見ることはできません。

Python 3では、他のユーザーのrootとしてインストールされたパッケージを見ることはできません。

psycopg2CentOS 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

関連情報