使用 boot2docker 設定 IPython 開發環境#
注意
這完全複製自舊的 IPython wiki,目前正在開發中。本開發指南的許多資訊已過時。
以下是如何在您的主機上,除了 `boot2docker
<boot2docker/boot2docker>`__ 和 `docker
<https://www.docker.com/>`__ 之外無需安裝任何東西,即可啟動並執行 IPython 開發環境的說明。
安裝 boot2docker
#
安裝 boot2docker。有多種安裝方法,具體取決於您的環境。請參閱 boot2docker 文件。
Mac OS X#
在安裝了 Homebrew 的 Mac OS X 主機上
$ brew install boot2docker docker
初始化 boot2docker
虛擬機器#
$ boot2docker init
啟動虛擬機器#
$ boot2docker up
boot2docker
CLI 與 boot2docker
虛擬機器上的 docker 守護程式通訊。為此,我們必須設定一些環境變數,例如 DOCKER_HOST
,
$ $(boot2docker shellinit)
檢視虛擬機器的 IP 地址
$ boot2docker ip
192.168.59.103
從開發分支安裝 ipython
#
$ git clone --recursive https://github.com/ipython/ipython.git
構建 Docker 映象#
使用克隆的 ipython
目錄中的 Dockerfile 構建 Docker 映象。
$ cd ipython
$ docker build --rm -t ipython .
執行 Docker 容器#
使用新映象執行容器。我們將主機上的整個 ipython
原始碼樹掛載到容器的 /srv/ipython
目錄中,以便我們在主機上對原始碼所做的更改立即反映在容器中。
# change to the root of the git clone
$ cd ipython
$ docker run -it --rm -p 8888:8888 --workdir /srv/ipython --name ipython-dev -v `pwd`:/srv/ipython ipython /bin/bash
從主機上的另一個 shell 列出正在執行的容器
$ $(boot2docker shellinit)
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f6065f206519 ipython "/bin/bash" 1 minutes ago Up 1 minutes 0.0.0.0:8888->8888/tcp ipython-dev
以可編輯模式安裝 IPython#
進入容器後,您需要解除安裝 ipython
包並以可編輯模式重新安裝,以使您的開發更改反映在您的環境中。
container $ pip uninstall ipython
# pip install ipython in editable mode
container $ cd /srv
container $ ls
ipython
container $ pip install -e ipython
執行 Notebook 伺服器#
container $ ipython notebook --no-browser --ip=*
訪問 Notebook 伺服器#
在您的主機上,如果忘記了 boot2docker 虛擬機器的 IP,請執行以下命令
# on host
$ boot2docker ip
192.168.59.103
然後在您的瀏覽器中訪問它
# browser
http://192.168.59.103:8888
作為 Mac 上的快捷方式,您可以在終端視窗中執行以下命令(或將其設為 bash 別名)
$ open http://$(boot2docker ip 2>/dev/null):8888