동일한 그룹의 다른 사용자는 Python 모듈을 사용할 수 없습니다.

동일한 그룹의 다른 사용자는 Python 모듈을 사용할 수 없습니다.

두 사용자 모두 foobarRHEL 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.pyoracledbfoobiz

답변1

사용자 foobar는 사용자 정의 Python 검색 경로를 가질 수 있습니다. 당신이 할 수 있는 한 가지는 다음과 같습니다:

import sys

sys.path 

그리고 각각의 출력을 주의 깊게 비교하십시오.

반품,내성예를 들어 도서관의 위치를 ​​알려줄 수 있습니다.

import inspect
import oracledb

inspect.getfile(oracledb)

이것문서또한 언급된 내용:

Linux에서는 호출 시 lib_dir 매개변수를 전달하지 마십시오. Linux의 Oracle 클라이언트 라이브러리는 Python 프로세스가 시작되기 전에 시스템 라이브러리 검색 경로에 있어야 합니다.

자세히 살펴보진 않았지만 Python 라이브러리만으로는 충분하지 않은 것 같습니다. Oracle 클라이언트 라이브러리도 있어야 합니다. 사용자별 디렉토리에 설치되어 다른 사용자가 시스템 전체에서 사용할 수 없을 수도 있습니다. 단지 생각일 뿐입니다. 이는 라이브러리 설치 방식으로 인해 발생하는 문제일 수 있습니다.

관련 정보