두 사용자 모두 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 클라이언트 라이브러리도 있어야 합니다. 사용자별 디렉토리에 설치되어 다른 사용자가 시스템 전체에서 사용할 수 없을 수도 있습니다. 단지 생각일 뿐입니다. 이는 라이브러리 설치 방식으로 인해 발생하는 문제일 수 있습니다.