1. 设置阿里云主机名
初始化的阿里云ECS是没有Python开发环境的,为了使用Jupyter等工具,需要对ECS进行初始化配置。
若无特殊说明,下文中的所有命令都是在Centos8命令行中使用,其他linux环境差异不大。
hostnamectl set-hostname {NAME} # 修改主机名称为{NAME}
bash # 刷新终端
2. 安装Python3.8.5
方式一
# 安装依赖包
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel xz-devel libffi-devel
# 安装Python3.8.5
## 获取安装包,也可手动下载。
wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz
## 解压缩
tar -zxvf Python-3.8.5.tgz
## 进入目录
cd Python-3.8.5
## 配置安装位置
./configure --prefix=/usr/local/python
## 编译并安装
make && make install
## 建立Python软连接
ln -s /usr/local/python/bin/python3.8 /usr/bin/python3.8
## 建立Pip软连接
ln -s /usr/local/python/bin/pip3.8 /usr/bin/pip3.8
## 添加到PATH
echo 'export PATH=/usr/local/python/bin:$PATH' >>~/.bashrc
source ~/.bashrc
## 安装成功后查看python和pip版本
python3.8 -V
pip3.8 -V
## 升级Pip版本
python -m pip install --upgrade pip
## 删除安装包
rm -f Python-3.8.5.tgz
rm -rf Python-3.8.5
## 删除Python
# rm -rf /usr/local/python
方式二
shell> dnf install python3.8
3. 创建虚拟环境
-
先创建一个文件夹存放你之后所有搭建的虚拟环境
cd / mkdir -p /py_env
-
安装virtualenv
pip3.8 install virtualenv
-
为virtualenv创建软连接
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
-
切换到你存放虚拟环境的文件夹
cd / cd /py_env
-
创建虚拟环境 jupyter
这里我的虚拟环境叫jupyter
–python=/usr/bin/python3 是指定虚拟环境的解释器
virtualenv --python=/usr/bin/python3 jupyter
-
激活环境
cd /jupyter source bin/activate # 启动虚拟环境,退出为 deactivate
4. 虚拟环境中安装第三方库
虚拟环境可以理解为一个封闭的容器,里面安装的库与外界环境不会产生干扰。
Ipython
IPython的开发者吸收了标准解释器的基本概念,在此基础上进行了大量的改进,创造出一个令人惊奇的工具。在它的主页上是这么说的:“这是一个增强的交互式Pythonshell。”具有tab补全,对象自省,强大的历史机制,内嵌的源代码编辑,集成Python调试器,%run机制,宏,创建多个环境以及调用系统shell的能力。
IPython与标准Python的最大区别在于,Ipython会对命令提示符的每一行进行编号。
-
安装ipython & jupyter
# 安装ipython (jupyter) [root@rion bin]# pip3 install ipython # 安装jupyter (jupyter) [root@rion bin]# pip3 install jupyter
5. 配置jupyter
完成前面的环境搭建后,我们对jupyter进行一些配置,使得我们使用的更加方便
1.生成配置文件
jupyter notebook --generate-config --allow-root
这里一般会返回文件生成在了那个位置
一般的话是配置文件是在 /root/.jupyter/jupyter_notebook_config.py
2.生成密钥
在配置配置文件时需要t填写秘钥等信息
# 进入 ipython
(jupyter) [root@rion jupyter]# ipython
# 这个是进入 ipython 后系统输出的
Python 3.8.5 (default, Dec 6 2021, 11:50:15)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.30.1 -- An enhanced Interactive Python. Type '?' for help.
# In 是输入,Out 是输出
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password: # 输入密码,注意是看不见的。
Verify password: # 再次输入密码
# 记住这个秘钥
Out[2]: 'argon2:$ar********10,p=8$3A***************bMQ'
# 退出
In [3]: exit()
3.打开/root/.jupyter/jupyter_notebook_config.py文件
(jupyter) [root@rion jupyter]# vim /root/.jupyter/jupyter_notebook_config.py
### 在文件底部加入下面的配置信息,并自主修改 ###
# 接收任何ip地址
c.NotebookApp.ip = '0.0.0.0'
# 对外提供访问的端口,端口自定义
c.NotebookApp.port = 12345
# 启动不打开浏览器
c.NotebookApp.open_browser = False
# 上面生成的秘钥
c.NotebookApp.password = 'argon2:$argon2id$v=19$m=10240,t=10,p=8$3AJ8n3e***************V0RKGbMQ'
# 设置jupyter启动后默认文件夹
c.NotebookApp.notebook_dir = u'/root/jupyter/jupyter_dir' # 需要自己创建
# 允许root用户执行
c.NotebookApp.allow_root = True
6. 配置阿里云防火墙
进入阿里云控制台,找到【安全】-- 【防火墙】,点击添加规则,配置我们在配置文件中定义好的端口。
7. 运行jupyter
1. 终端jupyter
(jupyter) [root@rion jupyter]# jupyter notebook
2. 后台运行jupyter
(jupyter) [root@rion jupyter]# nohup jupyter notebook --allow-root > jupyter.log 2>&1 &
3. 关闭后台的jupyter进程
- 查询后台进程
ps -aux | grep jupyter
# ps -ef : 查看本机所有的进程;
# grep xxxx代表过滤找到条件xxxx的进程
- 杀掉后台进程
kill -9 PID # pid就是进程号