2016-06-17 7 views
17

나는 끔찍한 가상의 엉망진창에 빠지게되었다. 도움?!다른 env에서 jupyter 노트북을 실행중인 커널

conda으로 환경을 관리합니다. 최근까지 필자는 python2 jupyter 노트북 커널을 가지고 있었지만, 21 세기로 발길을 돌려 비명을 지르며 python3 커널을 설치했습니다. 내가 어떻게했는지 잊어 버린다.

메인 (아나콘다) 파이썬의 기본값은 2.7입니다.

내 반짝 반짝 빛나는 새로운 python3 커널 내부에서 아름다운 수프를 사용하고 즐겁게 노력하고 있으며, 패키지를 찾는 환경을 파악하는 데 아무 것도 할 수없는 것처럼 보입니다.) :

from bs4 import BeautifulSoup 

-> ImportError: No module named 'bs4' 

그래, 괜찮아. 쉘 마술을 사용하여 설치하겠습니다. 권리? 권리?

! pip install bs4 

--> Collecting bs4 
    Downloading bs4-0.0.1.tar.gz 
Requirement already satisfied (use --upgrade to upgrade): beautifulsoup4 in /Users/[MY-USER]/anaconda/lib/python2.7/site-packages (from bs4) 
[...] 
Successfully built bs4 
Installing collected packages: bs4 
Successfully installed bs4-0.0.1 

from bs4 import BeautifulSoup 

-> ImportError: No module named 'bs4' 

오노. 파이썬 3 커널을 실행 중이 라해도 2.7 환경에 있다고 생각합니까? 그건 안돼.

! conda info --envs 
--> # conda environments: 
# 
flaskenv     /Users/[MY-USER]/anaconda/envs/flaskenv 
mesa      /Users/[MY-USER]/anaconda/envs/mesa 
py35      /Users/[MY-USER]/anaconda/envs/py35 
root     * /Users/[MY-USER]/anaconda 

좋아, 해결할 수 있습니다. 그 중 하나는 3.5 환경입니다.

관련된
! source activate py35 
--> prepending /Users/[MY-USER]/anaconda/envs/py35/bin to PATH 

! conda install beautifulsoup4 
--> Fetching package metadata ....... 
Solving package specifications: .......... 

# All requested packages already installed. 
# packages in environment at /Users/[MY-USER]/anaconda: 
# 
beautifulsoup4   4.4.1     py27_0 

...

더 우려스러운
! pip install bs4 
--> Requirement already satisfied (use --upgrade to upgrade): bs4 in /Users/[MY-USER]/anaconda/lib/python2.7/site-packages 

...

from bs4 import BeautifulSoup 

-> ImportError: No module named 'bs4' 

ARRGH! headdesk이 문제를 해결하기 위해 커널을 죽여야합니까? (그리고 약간의 작업을 다시해야합니까?) 커널을 강제 종료해도 작동합니까? jupyter 커널이 어떤 환경에서 작동하는지 어떻게 알 수 있습니까?

감사합니다.

답변

53

이것은 ipython/Jupyter의 까다로운 부분입니다. 사용할 수있는 커널 세트는 jupyter Notebook을 시작할 때 virtualenv와 독립적입니다. 트릭은 ipykernel 패키지를 jupyter에 대해 고유하게 식별하려는 환경에 설정하는 것입니다.

source activate ENVNAME 
pip install ipykernel 
python -m ipykernel install --user --name ENVNAME --display-name "Python (whatever you want to call it)" 

당신은 단지 python -m ipykernel install --user를 사용하고는 VIRTUALENV의 하나에 기본 파이썬을 재설정는 CONDA 환경에서, 하나의 파이썬 3 커널을 사용하려면 docs on multiply ipykernels,에서.

그리고 예, 커널을 다시 시작하고 이전 단계를 다시 실행해야합니다.

관련 항목 Using both Python 2.x and Python 3.x in IPython Notebook

+0

고마워요! 매력처럼 일했습니다. –

+0

큰 감사, 당신은 내 하루를 저장 !! –

1

환경이 이미 생성 된 경우 tschundler의 솔루션은 완벽하게 작동 @.

conda create --name ENVNAME python=PYTHONVERSION jupyter

올바른을 : 당신이 당신의 가상 환경의 창조에서 기본 커널을 변경하고 수동 구성을 피하고 싶은 경우

, 당신은 단지 CONDA 명령의 끝에서 jupyter를 추가해야 ipython 또는 jupyter 노트북을 사용할 때 커널이 사용됩니다.