非Root服务器环境下安装Python及远程Jupyter
1、安装Python3
-
前往python版本库找到需要的版本路径;
-
通过wget命令下载Python包,我这里选择的是python-3.6.5;
$ wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5
-
解压,并安装到自己的目录下,这里我的路径是’/home/zd/softwares’,
$ tar -xzf Python-3.6.5.tgz $ cd Python-3.6.5 $ mkdir -p /home/zd/softwares/Python-3.6.5
-
编译安装
$ ./configure --prefix='/home/zd/softwares/Python-3.6.5' $ make $ make install
-
通过以上的步骤即可完成Python 3.6.5的安装,但是这时候还需要配置一下环境,
$ vim ~/.bashrc
使用vim打开.bashrc文件,并添加python的环境,
export PATH=/home/zd/softwares/Python-3.6.5:$PATH export PATH=/home/zd/softwares/Python-3.6.5/bin:$PATH
保存退出,并刷新环境配置,
$ source ~/.bashrc
-
以上,即完成了Python 3.6.5的安装与配置,可以通过python命令查看版本信息。
[zd@sis18 ~]$ python Python 3.6.5 (default, Feb 26 2019, 22:31:58) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
2、安装Jupyter
-
登录服务器,并执行以下安装,
$pip install pyzmq $pip install tornado $pip install jinja2 $pip install jsonschema $pip install jupyter
注意,这个地方可能运用的还是全局的python2环境,导致pip无权限,可以使用pip3命令来解决。
-
生成配置文件,
$ jupyter notebook --generate-config
以上的命令,可能会遇到sqlite3找不到,pysqlite2找不到的问题,通过分析,主要是因为没有安装sqlite3,且因为没有给python3配置sqlite3的环境,从而报错,
ModuleNotFoundError: No module named '_sqlite3'
可以通过以下的方法进行解决,
- 首先安装sqlite3到当前目录,这里我安装在’\home\zd\softwares\sqlite3’下,
$ wget https://www.sqlite.org/2017/sqlite-autoconf-3170000.tar.gz --no-check-certificate $ tar zxvf sqlite-autoconf-3170000.tar.gz $ cd sqlite-autoconf-3170000 $ ./configure --prefix='/home/zd/softwares/sqlite3' $ make && make install
- 配置python安装目录下的的setup.py文件,使其能够找到sqlite3,我这里是在’home/zd/softwares/Python-3.6.5/setup.py’,
sqlite_inc_paths = [ '/usr/include', '/home/zd/softwares/sqlite3/include', #在这里添加你的sqlite3安装目录 '/usr/include/sqlite', '/usr/include/sqlite3', '/usr/local/include', '/usr/local/include/sqlite', '/usr/local/include/sqlite3', ]
- 重新编译安装Python,
$ cd /home/zd/softwares/Python-3.6.5 $ ./configure --prefix='/home/zd/softwares/Python-3.6.5' $ make && make install
- 首先安装sqlite3到当前目录,这里我安装在’\home\zd\softwares\sqlite3’下,
-
生成Jupyter notebook密码,
[zd@sis18 ~]$ python Python 3.6.5 (default, Feb 26 2019, 22:31:58) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from IPython.lib import passwd >>> passwd() Enter password: Verify password: 'sha1:af5xxxxxxxxx:dde77f7xxxxxxxxxfa1ccxxxxxxxd56bfd6975' >>>
-
配置Jupyter notebook的参数,
$ vim ~/.jupyter/jupyter_notebook_config.py
c.NotebookApp.ip='*' c.NotebookApp.password = u'sha1:af5xxxxxxxxx:dde77f7xxxxxxxxxfa1ccxxxxxxxd56bfd6975' c.NotebookApp.open_browser = False c.NotebookApp.port =8889
-
远程访问Jupyterbook,
- 在服务器上启动,
[zd@sis18 ~]$ jupyter notebook --no-browser --port=8889 [I 13:03:35.684 NotebookApp] 把notebook 服务cookie密码写入 /run/user/1096/jupyter/notebook_cookie_secret [I 13:03:36.182 NotebookApp] 启动notebooks 在本地路径: /home/zd [I 13:03:36.183 NotebookApp] 本程序运行在: http://localhost:8889/ [I 13:03:36.183 NotebookApp] 使用control-c停止此服务器并关闭所有内核(两次跳过确认).
- 在本地连接,
$ ssh -N -f -L localhost:8888:localhost:8889 remote_user@remote_host
- 打开jupyter notebook,
- 在服务器上启动,
3、安装tensorflow-gpu
安装tensorflow-gpu需要用到cuda和cudnn,网上教程也很多,可以提供参考,需要注意的是,一定要注意cuda、cudnn、cuda driver的版本是否相互匹配。