스크립트로 가득 찬 디렉토리가 있습니다 (예 :) project/bin
. 또한 라이브러리가 있으며 project/lib
스크립트가 자동으로로드하기를 원합니다. 이것은 내가 일반적으로 각 스크립트의 상단에서 사용하는 것입니다.
#!/usr/bin/python
from os.path import dirname, realpath, sep, pardir
import sys
sys.path.append(dirname(realpath(__file__)) + sep + pardir + sep + "lib")
# ... now the real code
import mylib
이것은 번거롭고 추악하며 모든 파일의 시작 부분에 붙여 넣어야합니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?
정말로 내가 바라는 것은 다음과 같이 부드러운 것입니다.
#!/usr/bin/python
import sys.path
from os.path import pardir, sep
sys.path.append_relative(pardir + sep + "lib")
import mylib
또는 더 좋은 것은 내 편집자 (또는 커밋 액세스 권한이있는 다른 사람)가 정리 프로세스의 일부로 가져 오기 순서를 변경하기로 결정할 때 깨지지 않는 것입니다.
#!/usr/bin/python --relpath_append ../lib
import mylib
그것은 non-posix 플랫폼으로 직접 이식되지는 않지만 모든 것을 깨끗하게 유지합니다.