2017-03-27 26 views
3

내 폴더 구조는 다음과 같이 규정되어있는 CWD 변화에서 : 나는 실제 분석에서 내 소스 코드를 분리 할 수 ​​있습니다방지 Jupyter 노트북

- project/ 
    - notebooks/ 
    - notebook1.ipynb 
    - src/ 
    - module1.py 
    - __init__.py 
    - data/ 
    - data.csv 

하도록합니다. src에서 모듈을 가져 와서 notebook1에서 사용하고 싶습니다. 그러나 notebook1을 열 때마다 Jupyter는 내 작업 디렉토리를 notebooks 내부로 변경하기로 결정합니다.

이렇게하면 내 수입이 Jupyter의 변덕에 비해 상대적으로 가져 오기 때문에 유지 관리가 더 어려워집니다. cwd을 수정할 수있는 방법이 있습니까? 열려있는 파일에 관계없이 항상 project입니다.

나는 문서를보고 내 ~/.jupyter/jupyter_notebook_config.py 파일을 보았지만 나에게 도움이 될만한 것을 찾지 못했습니다.

편집 : 모든 스크립트 맨 위에 os.chdir 또는 cd을 사용할 필요가 없습니다. 어떤 도움 모든

+0

그래서'c.NotebookApp.notebook_dir = '''설정 파일에서 원하는 것을 할 수 없습니까? –

+0

그러면 서버가로드되는 디렉토리 만 변경됩니다. 위의 구조로, 그것은'notebooks' 디렉토리에 jupyter를로드 할 것이므로'src'에 도달하기 위해서는 여전히 레벨을 올려야 할 것입니다. –

답변

0

처음에

덕분에, 나는 당신이 cwdcurrent working directory에 대한 속기 인 반면 cwdpwdprint working directory에 대한 속기 의미 생각합니다. 기본적으로 pwdcwd을 인쇄합니다. 사소한 용어 문제가 있습니다!

둘째, 당신은 항상 수동으로 노트북의 상단에있는 디렉토리를 직접 변경할 수 있습니다 :

내가 자동으로하지만 기본 동작을 변경할 수있는 방법이 있다고 생각하지 않습니다
import os 
os.chdir("../") # or manually specify project - whichever you prefer 

- 아마에 문제를 열어가 노트북 자식 repo 좋은 생각이 될 것이라고? https://github.com/jupyter/notebook

+0

Hah는'pwd' 코멘트 주셔서 감사합니다. 나는 이것이 "현재 작업 디렉토리"라고 말하는 잘못된 강의 [note] (!)에서 그것을 얻었습니다 - 수정할 것입니다. 실제 답변과 관련해서는 수입이없이 작동하는 마법의'cd '만 사용하는 백업과 비슷하지만 필자가 원하는만큼 깔끔하지는 않습니다. 문제를 열어 드리겠습니다. –

관련 문제