使用 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