docker desktop ubuntu镜像_基于docker的python数据挖掘环境搭建(Jupyter notebook))

1. python环境搭建

通过之前几篇的文章,我们已经入门了docker及ubuntu的基本使用。

下面我们终于要切入正题,准备开始搭建用于数据挖掘的python环境。整个环境搭建包括基础的python安装、常用python包安装和jupyter配置三部分。

整体环境配置还是依赖前文提到的docker,通过docker可以保证不同机器环境版本的一致性,同时也方便后期整体环境的更新运维。

1.1. 环境配置

如果你已经安装好docker,直接按照下面步骤一步步即可搭建出一个实用和高效的python数据挖掘开发环境。

1.1.1. 启动目前最新的ubuntu20容器

通过docker hub搜索20版本的ubutnu系统 https://hub.docker.com/_/ubuntu?tab=tags&page=1&name=20.

7528d8ddb85e00d1d31955015f5edc4e.png

拉取镜像最新镜像

docker pull ubuntu:20.04

95e5114285b8c523f9afcadfc519d2dd.png

启动镜像

docker run -it --name ubuntu-python -p 8888:8888 -v /Users/enmanabuisamu/Desktop:/shared_data ubuntu:20.04 env LANG=C.UTF-8 /bin/bash

34a2a5e633ab9290038e794b2782d419.png

可以看到我们已经进入ubuntu20.04系统,其中:

  • 容器名称为ubuntu-python

  • 内外部端口8888做了映射,方便后面jupyter访问

  • 把外部文件夹/Users/enmanabuisamu/Desktop/data_mining映射到容器内/shared_data

  • 设置了中文环境可以正常访问文件夹

1.1.2. 安装常用软件

更新apt源

apt-get update

安装ubuntu的常用依赖&软件(包括python3.8)

apt -y install vim python3-pip screen wget

cdbe7d30685b49c0f4b7004c8ccd7385.png

  • vim是文本编辑器

  • python3-pip会安装python包管理工具pip,如果系统没有python的话会安装最新版python3

  • screen是linux程序后台管理工具

  • wget是linux下的下载工具

1.1.3. 安装cmake

为了后续xgboost支持多线程,需要安装cmake

wget https://cmake.org/files/v3.16/cmake-3.16.7-Linux-x86_64.tar.gztar zxvf cmake-3.16.7-Linux-x86_64.tar.gzmv cmake-3.16.7-Linux-x86_64 /opt/cmake-3.16.7ln -sf /opt/cmake-3.16.7/bin/* /usr/bin/cmake --version

出现下列信息说明cmake环境已经配置好

9610346e267cbad7e1787c48afb88841.png

1.1.4. 安装python包

安装常用python包

pip3 install pandas sklearn catboost lightgbm bs4 requests pylint pyecharts django==2.2 xlrd xgboost jieba lxmlpip3 install jupyter notebookpip3 install jupyter_contrib_nbextensionspip3 install jupyterthemes pip3 install jupytext

1.1.5. 设置jupyter nbextension

配置jupyter的nbextension插件,这个插件超级牛x好用。。。。。务必要安装配置!!!!

jupyter contrib nbextension install --userjupyter nbextension enable codefolding/main

1.1.6. 设置jupyter颜色(可选)

如果不喜欢白底黑字的界面可以更换主题颜色,可用主题:

  • chesterish

  • grade3

  • gruvboxd

  • gruvboxl

  • monokai

  • oceans16

  • onedork

  • solarizedd

  • solarizedl

更换主题代码:

jt -t oceans16 -T -N

后面的参数:

  • -t 主题

  • -f(字体)

  • -fs(字体大小)

  • -cellw(占屏比或宽度)

  • -ofs(输出段的字号)

  • -T(显示工具栏)

  • -T(显示自己主机名)

1.1.7. 设置终端颜色(可选)

配置docker中的命令行颜色,先编辑bashrc文件

vim ~/.bashrc

添加设置

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;35;01m\]\u\[\033[00;00;01m\]@\[\033[01;35;01m\]\h\[\033[00;31;01m\]:\[\033[00;00;01m\]\w \[\033[01;32;01m\]\$ \[\033[01;01;01m\]'

1.1.8. 设置jupyter远程访问

初始化jupyter notebook配置文件

jupyter notebook --generate-config

会显示jupyter notebook配置文件的路径,请务必记录

7da600b922ddf19eaef62542679e8493.png

配置jupyter notebook远程访问密码,先启动python:python3 运行以下代码,按照提示输入你想设置的密码,并记住加密后的密码

from notebook.auth import passwdpasswd()

cbb67f1f9244049df424dc99e74a7771.png

最后退出python

exit()

根据上面配置文件路径,配置jupyter配置文件(关于vim操作可以查看之前文章)

vim /root/.jupyter/jupyter_notebook_config.py

分别查找下面的配置,并按照自己的需求进行配置

c.NotebookApp.ip='*'c.NotebookApp.password = '刚刚记下的密码'c.NotebookApp.open_browser = Falsec.NotebookApp.port =8888c.NotebookApp.notebook_dir = '/shared_data'

保存并退出后,我们就完成了主要的python及ide工具的准备工作。

1.2. jupyter启动&插件配置

windows & MacOS的交互式界面,可以很方便的进行多任务管理和切换,Ubuntu中的多任务我比较习惯用screen进行管理。

1.2.1. screen简介

screen的功能就像他的名字,可以建立一个单独的窗口运行你想持续运行的服务,再把这个窗口最小化后台运行。同时,screen还可以再次进入这个窗口进行操作,或者进行其他管理。

screen常用操作:

screen -S screenname #screenname改成你窗口的名字screen -ls #列出所有的窗口kill xxx #xxx是screen -ls中显示的screen idscreen -r screenname #再次进入窗口

control+a+d退出当前窗口

1.2.2. jupyter启动

启动screen窗口

screen -S jupyter

使用screen设置jupyter后台启动

jupyter notebook --allow-root

退出当前窗口 control+a+d退出当前窗口

访问jupyter服务 http://localhost:8888/

a39979dc09adc88524c5c22aeae9e5c0.png

输入刚刚配置的密码,终于我们进入了费劲吧啦配置好的jupyter环境

db3603e846a02f4f71ae334c768f0a91.png

1.2.3. jupyter插件设置

刚刚在安装过程中,我们已经安装过nbextension这个插件。可以毫不夸张的说,安装并且配置好插件的jupyter才是一个乱拳打死老师傅的完全体。

nbextension其实是很多插件的合集,这里是我常用的插件,供大家参考

9bea406c03606fc57f8e8e09453f8659.png

通过上面的配置,我们未来的jupyter文件可以具备如下功能:

  • 按照markdown的标题层级自动添加标题的编号

  • 根据标题自动生成目录和目录导航

  • 计算单元格计算时间

  • 查看变量情况

  • ………… 可以说对未来数据挖掘工作可以提高超强的生产力

1.3. 保存镜像

首先按control+d退出容器

查看容器情况

865aecca993b167b66693e2d40bcb0e7.png

保存镜像

docker commit -a "yxy" -m "jupyter notebook" ed48fd23b265  jupyter:v1

1.4. 后期使用和运维

1.4.1. 启动容器

启动并进入docker容器

docker run -it --name jupyter -p 8888:8888 -v /Users/enmanabuisamu/Desktop:/shared_data jupyter:v1 env LANG=C.UTF-8 /bin/bash
  • 其中/Users/enmanabuisamu/Desktop改成自己的本地目录

启动一个新的窗口

screen -S jupyter

启动jupyter

jupyter notebook --allow-root

control+a+d退出screen 按control+d退出容器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值