IPython Notebook에서 Python 2.x 및 Python 3.x 사용


255

IPython 노트북을 사용하고 있으며 IPython에서 2.x 또는 3.x Python 노트북을 만들도록 선택하고 싶습니다.

나는 처음에 아나콘다가 있었다. Anaconda를 사용하면 전역 환경 변수를 변경하여 원하는 버전의 파이썬을 선택한 다음 IPython을 시작할 수 있습니다. 이것은 내가 찾고있는 것이 아니므로 Anaconda를 제거하고 MacPorts 및 PiP를 사용하여 자체 설치를 설정했습니다. 그래도 계속 사용해야 할 것 같습니다

port select --set python <python version> 

파이썬 2.x와 3.x 사이를 전환합니다. 아나콘다 솔루션보다 낫지 않습니다.

IPython 노트북을 시작한 후 현재 MacPorts 빌드와 함께 사용하려는 Python 버전을 선택하는 방법이 있습니까?


답변:


336

여기서 아이디어는 여러 ipython커널 을 설치하는 것 입니다. 다음은 아나콘다에 대한 지침입니다. 아나콘다를 사용하지 않는 경우 최근에 순수 virtualenvs를 사용하여 지침 을 추가했습니다 .

아나콘다> = 4.1.0

버전 4.1.0부터 아나콘다는 nb_conda_kernels노트북 커널로 콘다 환경을 감지하고 자동으로 등록 하는 특수 패키지 를 포함 합니다. 이렇게하면 새로운 conda 환경을 만드는 것만 큼 쉽게 새로운 파이썬 버전을 사용할 수 있습니다.

conda create -n py27 python=2.7 ipykernel
conda create -n py36 python=3.6 ipykernel

jupyter 노트북을 다시 시작하면 그래픽 인터페이스를 통해 새 커널을 사용할 수 있습니다. 새 환경에 새 패키지를 명시 적으로 설치해야합니다. 관리 환경의 CONDA의 문서 섹션 추가 정보를 제공합니다.

커널 수동 등록

nb_conda_kernels이전 버전의 아나콘다 를 사용하지 않거나 계속 사용 하려는 사용자 는 다음 단계를 사용하여 ipython 커널을 수동으로 등록 할 수 있습니다.

python2.7환경을 구성하십시오 .

conda create -n py27 python=2.7
conda activate py27
conda install notebook ipykernel
ipython kernel install --user

python3.6환경을 구성하십시오 .

conda create -n py36 python=3.6
conda activate py36
conda install notebook ipykernel
ipython kernel install --user

그런 다음 인터페이스에서 새 전자 필기장을 만들 때 python2
와 선택할 python3때 선택할 수 있어야합니다 .

또한 커널 이름을 변경하려는 경우 --name--display-name옵션을 전달할 수 있습니다 ipython kernel install. 자세한 내용 ipython kernel install --help은 참조하십시오.


귀하의 솔루션은 내가 결국 사용했던 솔루션과 매우 유사하며 원칙적으로 작동 할 것으로 기대합니다. 이미 anaconda를 제거 하고이 작업을 수행했기 때문에 확인할 수 없습니다.
deltap

9
루트를 요구하지 않고 커널 스펙을 설정 ipython kernelspec install-self --user하려면 현재 사용자를 위해 커널 스펙 을 설치하십시오.
Thomas K

1
나는 그것을 알아 냈습니다! 당신의 대답이 도움이되었습니다! dropbox.com/s/6ayqf55ctkv2xgk/…
영리한 프로그래머

7
핵심 항목은 초기 아나콘다와 함께 제공되지 않은 nb_conda_kernels를 설치해야한다는 것입니다! 감사!
dartdog

1
@cel, 실제로 jupyter를 시작한 환경에는 기본적으로 nb_conda_kernels 패키지가 설치되어 있지 않습니다. 나는 모든 의견을 읽는 데 시간이 걸리지 않았습니다. 아마도 답을 편집하고 다트 도그의 remak를 포함시킬 수 있습니다.
Antoine Gautier

276

Python 3 에서 Jupyter 를 실행하는 경우 다음 과 같이 Python 2 커널을 설정할 수 있습니다.

python2 -m pip install ipykernel

python2 -m ipykernel install --user

http://ipython.readthedocs.io/en/stable/install/kernel_install.html


52
python2가 이미 설정되어 있고 python3이 필요한 경우 '2'를 '3'으로 전환하십시오. 왜 이것이 최고의 답변이 아닌지 이해하지 못합니다 .Occam의 면도기로 확실히 이겼으며 저에게 효과적이었습니다.
wordsforthewise

6
완벽하게 작동합니다. 실제로 첫 번째 답변이어야합니다.
JSmyth

2
python2 명령이 파이썬 자체에 포함되어 있습니까? 이 답변에 대한 설명을 정교하게 설명하십시오. :)
verystrongjoe

3
이것은 작동하지만 추가 패키지가있는 시스템 python 2에 연결되어 있지 않습니다. 기존 파이썬 바이너리 / 실행 파일에 연결하는 방법이 있습니까?
Rutger Hofste 1

1
단지 대체 완벽 win10에서 작품 python2과 함께 your\path\to\python(2).exe.
Lucien

42

이 지침은 비 아나콘다 사용자를 위해 별도의 가상 환경에 python2 및 python3 커널을 설치하는 방법을 설명합니다. 아나콘다를 사용하는 경우 아나콘다에 직접 맞춘 솔루션에 대한 다른 답변 을 찾으십시오 .

이미 jupyter notebook설치 했다고 가정합니다 .


먼저 귀하 와 가용 python2python3통역사 가 있는지 확인하십시오 pip.

우분투에서는 다음과 같이 설치합니다 :

sudo apt-get install python-dev python3-dev python-pip python3-pip

다음 커널 환경 준비 및 등록

python -m pip install virtualenv --user

# configure python2 kernel
python -m virtualenv -p python2 ~/py2_kernel
source ~/py2_kernel/bin/activate
python -m pip install ipykernel
ipython kernel install --name py2 --user
deactivate

# configure python3 kernel
python -m virtualenv -p python3 ~/py3_kernel
source ~/py3_kernel/bin/activate
python -m pip install ipykernel
ipython kernel install --name py3 --user
deactivate

작업을보다 쉽게하기 위해 활성화 명령에 대한 쉘 별명을 쉘 구성 파일에 추가 할 수 있습니다. 사용하는 시스템과 쉘에 따라 예를 들어 ~/.bashrc, ~/.bash_profile또는~/.zshrc

alias kernel2='source ~/py2_kernel/bin/activate'
alias kernel3='source ~/py3_kernel/bin/activate'

쉘을 다시 시작한 후에는 사용하려는 환경을 활성화 한 후 새 패키지를 설치할 수 있습니다.

kernel2
python -m pip install <pkg-name>
deactivate

또는

kernel3
python -m pip install <pkg-name>
deactivate

이 점을 따라 팬더를 설치하고 jupyter를 시작하고 py3 커널로 전환했습니다. 팬더 가져 오기가 '찾을 수 없음'오류로 실패했습니다. 그것은 나에게 제정신을 운전하는 것
user1255933

1
@ user1255933, 잘못된 pip 버전으로 설치 한 것 같습니다. 대상 환경 활성화에 실패했거나 pip 버전이없는 경우 발생할 수 있습니다. 내 답변이 흥미로울 것입니다 : stackoverflow.com/questions/32680081/… .
cel

비 아나콘다 방식으로 커널을 설치하는 방법에 대한 지침에 감사드립니다
mdivk

37

Notebook / Jupyter의 현재 버전으로 Python3 커널을 만들 수 있습니다 . Python 2를 사용하여 명령 줄에서 새 노트북 응용 프로그램을 시작하면 드롭 다운 메뉴“새로 만들기”에“Python 3”항목이 표시됩니다. 이렇게하면 Python 3을 사용하는 노트북이 제공되므로 다른 Python 버전과 함께 두 개의 노트북을 나란히 가질 수 있습니다.

세부 사항

  1. 이 디렉토리를 작성하십시오. mkdir -p ~/.ipython/kernels/python3
  2. ~/.ipython/kernels/python3/kernel.json이 내용 으로이 파일 을 작성하십시오 .

    {
        "display_name": "IPython (Python 3)", 
        "language": "python", 
        "argv": [
            "python3", 
            "-c", "from IPython.kernel.zmq.kernelapp import main; main()", 
            "-f", "{connection_file}"
        ], 
        "codemirror_mode": {
            "version": 2, 
            "name": "ipython"
        }
    }
  3. 노트북 서버를 다시 시작하십시오.

  4. 드롭 다운 메뉴 "새로 만들기"에서 "Python 3"을 선택하십시오.
  5. Python 3 노트북으로 작업
  6. 드롭 다운 메뉴“새로 만들기”에서“파이썬 2”를 선택하십시오
  7. Python 2 노트북으로 작업

이것은 훌륭하고 작동 시키려고하지만 jupyter이 시나리오에서 시작하는 방법을 지정할 수 있습니까 ( ipython notebook또는 실행해야합니다 ipython3 notebook). 지금 난 단지 실행할 수있는 하나 또는 각각의 환경과 (다른,하지만 모두 커널을 나열 내부를 참조 할 수는 jupyter. 당신은 어쩌면 시작하는 방법을 포함하는 답변을 확장 할 수 jupyter내가 실행할 수 있도록 python2하고 python3? 감사를 나란히!
Chris

1
좋아, 나는 그것을 알아 냈다고 생각한다- (OS X에서) kernel.json파일 을 조정 ~/Library/Jupyter/kernels/python3/하고 링크 된 파일에 언급 된 인수를 추가해야했다.
Chris

@Chris 예, 링크 뒤의 설명은 IPython Notebook에 제공되지만 편집기에서 수행 할 수 있습니다. 주어진 경로와 표시된 내용에서 특정 이름의 파일을 만들거나 수정하기 만하면됩니다. 문제가 해결되어 다행입니다.
Mike Müller 5

해당 링크의 세부 정보를 포함하도록 답변을 편집하는 것이 좋습니다. 답변이 링크의 "뒤에"가장 중요한 부분을 숨겨서는 안됩니다.
Chris

1
@Chris 링크에서 세부 사항을 추가했습니다.
Mike Müller

22

Ipython 커널 사양을 구성하여 MacPorts 설치를 유지할 수있는 솔루션을 사용할 수 있습니다.

요구 사항 :

  • MacPorts는 일반적인 / opt 디렉토리에 설치됩니다
  • python 2.7은 macports를 통해 설치됩니다
  • python 3.4는 macports를 통해 설치됩니다
  • Python 2.7 용 Ipython이 설치되었습니다.
  • Python 3.4 용 Ipython이 설치되었습니다.

파이썬 2.x의 경우 :

$ cd /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin
$ sudo ./ipython kernelspec install-self

파이썬 3.x의 경우 :

$ cd /opt/local/Library/Frameworks/Python.framework/Versions/3.4/bin
$ sudo ./ipython kernelspec install-self

이제 Ipython 노트북을 열고 python 2.x 또는 python 3.x 노트북을 선택할 수 있습니다.

파이썬을 선택하십시오!


동일한 인스턴스 에서 노트북을 나란히 실행 python2하고 python3커널 할 수 있는지 확인할 수 있습니까 jupyter? 이 경우 어떻게 정확하게 jupyter충돌하는 길을 가지지 않습니까? 나는 현재 적절한 환경을 미리 설정해야만 실행 python2하거나 python3코드를 작성할 수 있습니다 $PATH $PYTHONPATH. 어떻게 든 피할 수 있습니까?
Chris

python2 또는 python3 커널 노트북을 실행할 수 있습니다.
deltap

당신은 어떻게 시작 할까 jupyter(가 설치되어 주어진 python 2.7및 위해 python 3.4) 당신이 $ PYTHONPATH를 정의 또는 어떤 가상 환경을 소스가 있나요? 당신은 그냥 전화 ipython notebook? 그렇다면 ipython2.7 또는 3.4에 설치된 것이 무엇입니까?
Chris

나는 단지 전화하고있다 python notebook. which ipython그것이 가리키는 것을 보여줍니다/opt/local/Library/Frameworks/Python.framework/Versions/3.4/bin/ipython
deltap

좋아, 나는 내 문제를 알아 냈고 사전 정의 된 $PYTHONPATH것과 관련이있어 커널 전환이 어려워졌습니다. unset PYTHONPATH시작 하기 전에해야 ipython했고 지금은 작동합니다.
Chris

18

내 리눅스 설치에서 나는 :

sudo ipython2 kernelspec install-self

그리고 이제 내 파이썬 2가 다시 목록에 있습니다.

참고:

http://ipython.readthedocs.org/en/latest/install/kernel_install.html


최신 정보:

위의 방법은 이제 더 이상 사용되지 않으며 향후에는 삭제 될 예정입니다. 새로운 방법은 다음과 같아야합니다.

sudo ipython2 kernel install


2
나는 우분투 설치에 명령을 무작위로 붙여 넣는 것을 싫어하지만 이것은 나를 위해 일했다.
Joseph

1
선택한 답변이어야합니다.
e9t

1
요약하면 요점은 Mac OS X 에서이 솔루션을 적용했으며 아무런 문제없이 작동한다는 것입니다.
Konrad

1
나는 모든 대답을 시도했다. 그러나 이것은 나를 위해 일했습니다. 우분투에 있다면 시도해보십시오.
sinsuren

1
그리고 어디서 구할 수 ipython2있습니까?
sudo

5

다음은 Jupyter 노트북에 python2 커널을 추가하는 단계입니다.

터미널을 열고 새로운 Python 2 환경을 만듭니다. conda create -n py27 python=2.7

환경 활성화 : Linux source activate py27또는 Windowsactivate py27

env에 커널을 설치하십시오 : conda install notebook ipykernel

환경 외부에 커널을 설치하십시오. ipython kernel install --user

환경을 닫습니다 : source deactivate

답변이 늦었지만 누군가가 유용하다고 생각하지만 : p


이것은 @ cel 's answer 에서 이미 명확하게 언급 된 것 이상을 추가하지 않습니다 .
merv

3

sudo pip3 install jupyterpython3 sudo pip install jupyter용 jupyter 설치 및 python2 용 jupyter 노트북 설치에 사용하십시오 . 그런 다음 ipython kernel installjupyter 노트북에서 두 가지 유형의 노트북을 모두 선택할 수 있도록 command를 호출 할 수 있습니다 .


1

나는이 훌륭한 정보를보고 궁금해했습니다 .

  1. python2, python3 및 IPython이 모두 설치되어 있습니다.
  2. PyCharm이 설치되어 있습니다.
  3. PyCharm 은 Python 콘솔에 IPython을 사용합니다.

PyCharm 이 사용 한다면

  1. 메뉴> 파일> 설정> 프로젝트> 프로젝트 인터프리터 == py2 AND 일 때 IPython-py2
  2. 메뉴> 파일> 설정> 프로젝트> 프로젝트 인터프리터 == py3 일 때 IPython-py3

답변 : 예!

추신 : Windows 용 Python Launcher도 설치되어 있습니다.


0

Windows 7에서는 아나콘다와 아나콘다 3가 설치되었습니다. 나는 들어가서 \Users\me\anaconda\Scripts처형했다

sudo .\ipython kernelspec install-self

그때 들어가서 \Users\me\anaconda3\Scripts처형

sudo .\ipython kernel install

(있어 jupyter kernelspec install-self is DEPRECATED as of 4.0. You probably want 'ipython kernel install' to install the IPython kernelspec. )

jupyter notebook(anaconda3에서) 시작한 후 오른쪽 상단 모서리에 "New"아래의 깔끔한 드롭 다운 메뉴가 표시되어 Python 2 odr Python 3 커널 중에서 선택할 수 있습니다.


0
  • 가상 환경에서 아나콘다를 실행중인 경우
  • 그리고 새 노트북을 만들 때 가상 환경 커널을 선택하지 않았습니다.
  • 그런 다음 다음 명령을 사용하여 ipykernel로 설정해야합니다
$ pip install --user ipykernel
$ python -m ipykernel install --user --name=test2
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.