centos7重新安装python,yum。并部署jupyter notebook

最近想在centos7上尝试安装jupyter notebook,但是路上十分艰辛,遇到了各种乱七八遭的问题,这里就来记录一下自己的心路历程。

1. 重装Python和Yum

刚开始的时候使用了默认的Python,也就是2.7.5版本,然后按照网上的教程安装了各种乱七八糟的包,但是在运行jupyter notebook --generate-config的时候遇到了Error executing Jupyter command 'notebook': [Errno 2] No such file or directory这个问题,也按照网上大家说的更新pip,更新python,更新ipython,但是始终有提示说需要python3.5及以上的版本。后来考虑到可能是python版本的问题,于是乎自己重装了python3.7.1并且还傻乎乎地卸载了python2.7.5,然后悲剧就来了,yum用不了,给后续的工作带来了相当大的麻烦。后来纠结了很久,最后决定重新安装python2.7.5并使用Anaconda3来解决安装jupyter notebook遇上的python版本问题。

  1. 强制删除已安装程序及其关联
rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps
rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps
  1. 删除所有残余文件
##xargs,允许你对输出执行其他某些命令
whereis python |xargs rm -frv
whereis yum|xargs rm -fr
  1. 验证删除,返回无结果
whereis python
whereis yum
  1. 重新安装python

进入https://centos.pkgs.org搜索centos7系统对应的python和python-libs,可以执行以下的链接获得相应的rpm包:

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-2.7.5-76.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-libs-2.7.5-76.el7.x86_64.rpm

执行以下命令同时安装python和python-libs,不然安装的时候会报错:

#-i 安装包
#-iv 并在安装过程中显示正在安装的文件信息;
#-ivh 并在安装过程中显示正在安装的文件信息及安装进度;
rpm -ivh python-libs-2.7.5-76.el7.x86_64.rpm python-2.7.5-76.el7.x86_64.rpm
  1. 重新安装yum

为了重新安装yum,需要安装很多依赖的包,目前就只能一个接一个地用wget下并用rpm -ivh的方式逐个或批量安装。以下是需要安装的包的rpm链接地址:

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-9.el7.noarch.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/rpm-python-4.11.3-35.el7.x86_64.rpm

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-3.4.3-161.el7.centos.noarch.rpm

下载完成之后可以用以下命令批量安装上述下载的包:

rpm -ivh python-*.rpm
rpm -ivh yum-*.rpm
  1. 测试安装结果

最后就可以使用如下代码查看安装是否成功:

python -V
yum --version

如果正确显示了python和yum的版本那么就说明python和yum安装成功了。

2. 安装Anaconda3和Jupyter Notebook

  1. 下载安装Anaconda3

可以在以下的地址下载安装Anaconda3的sh文件:

wget https://repo.anaconda.com/archive/Anaconda3-2018.12-Linux-x86_64.sh

下载完成之后就可以使用以下指令安装Anaconda3:

bash Anaconda3-2018.12-Linux-x86_64.sh

安装过程中按照提示,需要按enter确认的按enter,需要输入yes确认的输入yes。

  1. 配置Anaconda3

默认情况下,Anaconda3是安装到/root/anaconda3路径下,所以使用vi /etc/profile编辑profile文件,并在最后加入:

export ANACONDA_HOME="/root/anaconda3"
export PATH=$PATH:$ANACONDA_HOME/bin

然后使用如下指令来使更改的配置生效。

source /etc/profile

或者将常用的指令建立软连接到对应的bin目录下,这里以conda指令为例:

ln -s /root/anaconda3/bin/conda /usr/local/bin/conda
ln -s /root/anaconda3/bin/conda /bin/conda
ln -s /root/anaconda3/bin/conda /usr/bin/conda

注意,这里需要填写绝对路径,不然系统会找不到具体的目标指令就会报错。Anaconda3安装成功之后也会自动安装上python3,只不过需要确认python的版本,如果python还是2.7.5的版本的话,这时应该可以使用python3指令来使用python3的版本。

  1. 安装jupyter notebook

使用如下指令来下载并安装jupyter notebook的rpm包:

wget https://forensics.cert.org/centos/cert/7/x86_64//python-ipython-notebook-2.2.0-1.el7.noarch.rpm
rpm -ivh python-ipython-notebook-2.2.0-1.el7.noarch.rpm
  1. 配置jupyter notebook
  • 4.1 在个人账户下建立配置文件

运行如下代码来生成配置文件:

jupyter notebook --generate-config
  • 4.2 设置密码

在python环境下设置密码,进入python3的环境:

python3

然后运行如下代码

from notebook.auth import passwd
passwd()

然后输入jupyter notebook登录用的密码,并再次输入确认密码,并得到类似如下的输出:

Enter password: 123456 # 设置密码为123456
Verify password: 123456
'sha1:d66351142f0a:9eea3d7f99e434a6837f5e73af18d03cf0353392'#(复制此行密码)
  • 4.3 修改配置文件

使用如下指令打开配置文件,修改其中的一些部分:

vi /root/.jupyter/jupyternotebook_config.py

打开jupyternotebook_config.py之后找到如下几行配置并按照下面的操作进行修改:

c.NotebookApp.allow_root = True

# 允许远程连接
allow_remote_access = True

# 允许登录notebook的ip地址
c.NotebookApp.ip = '*' 

# 这里的密码是刚刚生成的密码
c.NotebookApp.password = 'sha1:b39d2445079f:9b9ab99f65150e113265cb99a841a6403aa52647' 

# 连接notebook的端口
c.NotebookApp.port= 8888

# notebook的默认目录 ,如果找不到notebookdir试试notebook_dir。
# 编辑完配置文件之后记得在/root目录下创建ipython文件夹,如果ipython文件夹已经存在,可以忽略。
# 这里的ipython名可以随意设定。
c.NotebookApp.notebookdir = "/root/ipython" 

# 如果系统没有浏览器的话需要指定不用浏览器打开
c.NotebookApp.open_browser = False

# 能够访问notebook的地址
c.NotebookApp.local_hostnames = ['localhost', '{服务器地址}']
  • 4.4 后台开启notebook

使用如下指令后台开启jupyter notebook:

nohup jupyter notebook &

nohup 指的是不挂起,而&是后台运行,默认情况会在当前目录生成nohup.out,记录原本在控制台的输出情况。
如果需要关闭后台启动的进程,找到进程PID(关闭在前面后台执行的进程的步骤,首先找到其进程PID):

ps -ef | grep jupyter

ps -ef查看本机所有的进程;grep jupyter代表过滤找到条件jupyter的项目。
kill掉进程:关闭进程:

kill -9 具体的PID
  • 4.5 浏览器访问测试

访问{服务器地址}:8888试试能不能跳出jupyter notebook的登录界面,如果有就ok。

参考文献

Linux Centos7安装anaconda3和jupyter
后台执行的启动与关闭
rpm重装python和yum
rpm安装和卸载软件
CentOS Repositories
yum groupinstall ‘Development Tools’ 出现错误
Use jupyter command, It show error: No such file or directory

猜你喜欢

转载自blog.csdn.net/weixin_44730965/article/details/88427992
今日推荐