Python 3에서는 다른 사용자의 루트로 설치된 패키지를 볼 수 없습니다.

Python 3에서는 다른 사용자의 루트로 설치된 패키지를 볼 수 없습니다.

psycopg2CentOS 7.3에 Python 3을 루트로 설치했습니다 . 내가 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 스크립트를 실행하려고 하면 오류가 발생합니다. 루트가 아닌 사용자로 디렉토리에 들어가서 파일을 읽을 수 있음을 확인했습니다.

루트로 설치된 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

관련 정보