2014-10-14 3 views
1

모듈을 패키지하고 설치하지 않고도 PYTHONPATH에 기본 디렉토리를 추가하여 참조하려는 git 트리에 다음 디렉토리를 직접 가지고 있습니다.원시 git 트리에서 직접 파이썬 모듈 가져 오기

내부 cstruct의 디렉토리가 한 단계 후 꺼내 경우 일단 PYTHONPATH에 추가, 그것은 초기화 평 파일, 그것은 난 이후 불과하지만

import cstruct 

을 할 사소한 가지고 있기 때문에 또한 설정 파일을 유지하면서 위와 같은 가져 오기가 작동하지 않도록 다른 레벨을 중첩시켜야합니다.

이 문제를 해결할 수있는 방법이 있습니까? 일부 .py를 기본 dir에서 내부 cstruct를 꺼낼 수 있거나 파이썬 경로에 가장 바깥 쪽 cstruct를 추가 할 수 있다고 생각했지만 어떻게해야 될지 잘 모르겠습니다.

명확성을 위해 여기서 gstub에서 가져온 예제로 cstruct를 사용하고 있습니다. 그러나 패키지를 만들지 않고도 내 dev 환경에서 ad-hoc을 참조하고 싶습니다. + 설치.

. 
├── cstruct 
│   ├── cstruct 
│   │   ├── examples 
│   │   │   ├── fdisk.py 
│   │   │   └── __init__.py 
│   │   ├── __init__.py 
│   │   └── tests 
│   │    ├── __init__.py 
│   │    └── test_cstruct.py 
│   ├── LICENSE 
│   ├── MANIFEST.in 
│   ├── mbr 
│   ├── README.md 
│   ├── setup.cfg 
│   └── setup.py 
+0

왜 당신이 대신 VIRTUALENV에 설치의 작업을 수행 할 수 있습니까? – geoffspear

답변

0

나는 당신이 VIRTUALENV이 설치되지 않는 이유를 알고 있지만, 특정 질문을 제공하지 않습니다, 당신은 처음에 제안하고이를 PYTHONPATH에 외부 디렉토리를 추가 어떤 이유를 간단하게 할 수 없어?

당신은 할 수 있습니다 그 쉘에서 :

export PYTHONPATH=$PYTHONPATH:/path/to/outer/cstruct 

또는에서

파이썬 내부 :

import sys 
sys.path.insert(0, '/path/to/outer/cstruct') 
+0

나는이 아이디어가 거의 기본 디렉토리를 다루는 것이라고 생각한다. 파이썬 경로에 추가 할 수있는 사이트 - 패키지 같은 사이트 패키지를 사용할 수 있습니다. 그 sys.path.insert가 basedir의 __init__.py에서 끝나지 않을 수 있습니까? – stgtscc

+0

그렇다. 그렇다면'__init __. py'가 실행되도록하기 위해 기본 디렉토리를 가져와야합니다. 그게 어떻게 도움이되는지 모르겠습니다. –

+0

그건 제가 처음에 요약 한 것입니다. 단순히 basedir을 추가하는 것뿐입니다.하지만 시도 할 때 작동하지 않는 것 같습니다. – stgtscc

관련 문제