파이썬 라이브러리가 설치되어 있지만 설치된 라이브러리를 변경하지 않고 다른 폴더에서로드하려고합니다. 다음 코드를 사용하여 경로를 바꾸려고 시도했지만 라이브러리를로드하는 데 두 개의 경로가 저장되며 첫 번째 우선 순위는 이전 경로입니다. 새 우선 순위를 설정하거나 이전 우선 순위를 제거하려면 어떻게합니까?파이썬 라이브러리를 가져 오는 경로를 선택하는 방법
import pkg_resources
pkg_resources.declare_namespace('google')
pkg_resources.fixup_namespace_packages(_MY_LIBRARY_DIR)
import google.protobuf
print(google.protobuf.__path__)
출력 : [ '이전 경로', '새로운 길']
파이썬은 먼저 현재 실행중인 프로그램의 디렉토리에서 패키지를 찾은 다음 동일한 디렉토리에있는 모듈을 찾은 다음 환경 변수 [PYTHONPATH] (http://stackoverflow.com/questions)를 따릅니다./19917492/how-to-use-pythonpath). virtualenv 나 pyenv와 같은 패키지는 동일한 시스템에서 동일한 패키지의 여러 버전을 공존시키기 위해 PYTHONPATH의 조작을 자동화합니다. –
BTW 이것은 X/Y 문제의 전형적인 예입니다. 문제 X (한 시스템에서 동일한 패키지의 충돌하는 버전을 갖는 방법)에 대해 묻는 대신, 고안된 솔루션 Y (Python 모듈의 가져 오기 경로를 사용하는 바이올린)에 대해 질문합니다. –