programing

sys.path /PYthonPATH에 디렉토리 추가

muds 2023. 7. 20. 22:12
반응형

sys.path /PYthonPATH에 디렉토리 추가

특정 디렉터리에서 모듈을 가져오려고 합니다.

문제는 제가 사용하면sys.path.append(mod_directory)경로를 추가한 다음 python 인터프리터, 디렉토리를 엽니다.mod_directory목록의 끝에 sys.path가 추가됩니다.내보낼 경우PYTHONPATHpython 인터프리터를 열기 전에 variable, 디렉토리가 목록의 시작에 추가됩니다.후자의 경우에는 모듈을 가져올 수 있지만 전자의 경우에는 가져올 수 없습니다.

누가 왜 이런 일이 일어나는지 설명하고 나에게 추가할 수 있는 해결책을 줄 수 있습니까?mod_directory처음부터 파이썬 스크립트 에?

이것은 문서화된 대로 작동합니다.지정된 모든 경로PYTHONPATH일반적으로 작업 디렉터리 뒤에 오는 것으로 문서화되지만 표준 인터프리터 제공 경로 앞에 오는 것으로 문서화됩니다.sys.path.append()기존 경로에 추가됩니다.여기와 여기를 보세요.특정 디렉터리를 먼저 지정하려면 sys.path 머리에 삽입하기만 하면 됩니다.

import sys
sys.path.insert(0,'/path/to/mod_directory')

그렇긴 하지만, 일반적으로 수입품을 관리하는 데는 두 가지 방법 중 하나를 사용하는 것보다 더 나은 방법이 있습니다.PYTHONPATH또는 조작.sys.path직접적으로.예를 들어, 이 질문에 대한 답을 보십시오.

다음을 사용할 수 있습니다.

import os
path = 'the path you want'
os.environ['PATH'] += ':'+path

나에 대해서는, 나는 내 파이썬 경로에 카페가 필요합니다.파일에 경로를 추가할 수 있습니다./home/xy/.bashrc추가로

export PYTHONPATH=/home/xy/caffe-master/python:$PYTHONPATH.

나에게/home/xy/.bashrc파일.

하지만 제가 파이참을 사용했을 때, 그 길은 여전히 안에 있지 않습니다.

경로를 추가할 수 있습니다.PYTHONPATH변수, 실행별 -> 구성 편집.

enter image description here

Windows에서 Powershell에서 Python 스크립트를 실행하는 경우 다음과 같이 작동합니다.

$pathToSourceRoot = "C:/Users/Steve/YourCode"
$env:PYTHONPATH = "$($pathToSourceRoot);$($pathToSourceRoot)/subdirs_if_required"

# Now run the actual script
python your_script.py

임시로 dirs를 변경하면 다음을 가져올 수 있습니다.

cwd = os.getcwd()
os.chdir(<module_path>)
import <module>
os.chdir(cwd)

언급URL : https://stackoverflow.com/questions/16114391/adding-directory-to-sys-path-pythonpath

반응형