![동일한 그룹의 다른 사용자는 Python 모듈을 사용할 수 없습니다.](https://linux55.com/image/230917/%EB%8F%99%EC%9D%BC%ED%95%9C%20%EA%B7%B8%EB%A3%B9%EC%9D%98%20%EB%8B%A4%EB%A5%B8%20%EC%82%AC%EC%9A%A9%EC%9E%90%EB%8A%94%20Python%20%EB%AA%A8%EB%93%88%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
두 사용자 모두 foobar
RHEL foobiz
에서 동일한 그룹에 있습니다.
foobar$ python3 -m pip list
Package Version
----------------- -------
oracledb 1.4.2
pip 21.3.1
foobiz$ python3 -m pip list
Package Version
----------------- -------
pip 21.3.1
foobar$ head -3 my_python.py
from datetime import datetime
import time
import oracledb
코드가 for를 실행 foobar
하지만 foobiz
다음 메시지가 나타납니다.
import oracledb
ModuleNotFoundError: No module named 'oracledb'
질문:
foobiz
자신만의oracledb
모듈이 필요하신가요?- 을(를) 설치하지 않고
foobiz
실행하는 방법은 무엇입니까?my_python.py
oracledb
foobiz
답변1
사용자 foobar는 사용자 정의 Python 검색 경로를 가질 수 있습니다. 당신이 할 수 있는 한 가지는 다음과 같습니다:
import sys
sys.path
그리고 각각의 출력을 주의 깊게 비교하십시오.
반품,내성예를 들어 도서관의 위치를 알려줄 수 있습니다.
import inspect
import oracledb
inspect.getfile(oracledb)
이것문서또한 언급된 내용:
Linux에서는 호출 시 lib_dir 매개변수를 전달하지 마십시오. Linux의 Oracle 클라이언트 라이브러리는 Python 프로세스가 시작되기 전에 시스템 라이브러리 검색 경로에 있어야 합니다.
자세히 살펴보진 않았지만 Python 라이브러리만으로는 충분하지 않은 것 같습니다. Oracle 클라이언트 라이브러리도 있어야 합니다. 사용자별 디렉토리에 설치되어 다른 사용자가 시스템 전체에서 사용할 수 없을 수도 있습니다. 단지 생각일 뿐입니다. 이는 라이브러리 설치 방식으로 인해 발생하는 문제일 수 있습니다.