같은 그룹의 다른 사용자는 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

코드는 에 대해 실행되지만 foobar다음 foobiz메시지가 표시됩니다.

import oracledb
ModuleNotFoundError: No module named 'oracledb'

질문:

  • foobiz자체 모듈이 필요 합니까 oracledb?
  • 을(를) 설치하지 않고 어떻게 foobiz실행할 수 있나요 ?my_python.pyoracledbfoobiz

답변1

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

import sys

sys.path 

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

또한,내성lib의 위치를 ​​알려줄 수 있습니다. 예:

import inspect
import oracledb

inspect.getfile(oracledb)

그만큼문서또한 언급:

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

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

관련 정보