在centos 7 中 conda 环境和Python2.7 中安装远程jupyter
折腾了半天,为了能够方便学习TensorFlow,搞了远程的jupyter,方便在本地使用它,今天填了不少坑。
装完后截图:
下面是一些步骤:
检查 Python 环境
CentOS 7.2 中默认集成了 Python 2.7,可以通过下面命令检查 Python 版本:
python --version
安装 pip
pip 是一个 Python 包管理工具,我们使用 yum 命令来安装该工具:
yum -y install python-pip
使用下面命令升级 pip 到最新版本:
pip install --upgrade pip
安装相关依赖
安装 Jupyter 过程中还需要其他一些依赖,我们使用以下命令安装他们:
yum -y groupinstall "Development Tools"
yum -y install python-devel
配置虚拟环境
安装 virtualenv
我们将为 Jupyter 创建一个独立的虚拟环境,与系统自带的 Python 隔离开来。为此,先安装 virtualenv 库:
pip install virtualenv
创建虚拟环境
创建一个专门的虚拟环境,并直接激活进入该环境:
virtualenv venv
source venv/bin/activate
使用 pip 安装 Jupyter
我们使用 pip 命令安装 Jupyter:
pip install jupyter
配置 Jupyter Notebook
建立项目目录
我们先为 Jupyter 相关文件准备一个目录:
mkdir /data/jupyter
cd /data/jupyter
再建立一个目录作为 Jupyter 运行的根目录:
mkdir /data/jupyter/root
准备密码密文
由于我们将以需要密码验证的模式启动 Jupyter,所以我们要预先生成所需的密码对应的密文。
生成密文
使用下面的命令,创建一个密文的密码:
python -c "import IPython;print IPython.lib.passwd()"
执行后需要输入并确认密码,然后程序会返回一个 'sha1:...' 的密文,我们接下来将会用到它。
修改配置
生成配置文件
我们使用 --generate-config 来参数生成默认配置文件:
jupyter notebook --generate-config --allow-root
生成的配置文件在 /root/.jupyter/ 目录下,可以点此编辑配置。
修改配置
然后在配置文件最下方加入以下配置:
c.NotebookApp.ip = '*'
c.NotebookApp.allow_root = True
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888
c.NotebookApp.password = u'刚才生成的密文(sha:...)'
c.ContentsManager.root_dir = '/data/jupyter/root'
其中:
c.NotebookApp.password 请将上一步中密文填入此项,包括 sha: 部分。
你也可以直接配置或使用 Nginx 将服务代理到 80 或 443 端口。
启动 Jupyter Notebook
直接启动
使用以下指令启动 Jupyter Notebook:
jupyter notebook
此时,访问 http://服务器ip地址:8888 即可进入 Jupyter 首页。
创建 Notebook
后台运行
直接以 jupyter notebook 命令启动 Jupyter 的方式在连接断开时将会中断,所以我们需要让 Jupyter 服务在后台常驻。
先按下 Ctrl + C 并输入 y 停止 Jupyter 服务,然后执行以下命令:
nohup jupyter notebook > /data/jupyter/jupyter.log 2>&1 &
该命令将使得 Jupyter 在后台运行,并将日志写在 /data/jupyter/jupyter.log 文件中。
安装到最后我以为万事俱备了,谁知最后在浏览器上打开时却总是响应超时,最后找了半天原因竟是防火墙的问题。把8888端口加到防火墙文件中,再重启防火墙就可以正常打开了。。(这个可以直接百度到)