一、 linux服务器上安装miniconda3,实现多用户安装

比较麻烦的是下载时候的环境配置,增加环境变量从而保证多用户使用。
具体步骤如下:
为了统一管理安装的软件,我们将下载的安装包以及软件都放到/opt 目录下。

##使用root用户下载安装,并且安装到/opt目录下
root@iZuf60za0a748jc3c71epvZ:~# cd /opt
root@iZuf60za0a748jc3c71epvZ:/opt# ls
# 在linux在使用以下命令下载miniconda
wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 安装刚刚下载的Miniconda,bash就是运行.sh文件的意思
bash Miniconda3-latest-Linux-x86_64.sh 

然后根据提示按enter键或者输入yes,即可。对于安装路径选项,选择安装路径为/opt/miniconda3

然后进入root根目录,查看.bashrc配置文件查看默认安装下的miniconda3环境变量配置信息:

root@iZuf60za0a748jc3c71epvZ:/opt# cd ~
root@iZuf60za0a748jc3c71epvZ:~# ls -a
.   .bash_history  .cache  .config                   jupyterhub.sqlite  .pip      .pydistutils.cfg  .viminfo    .Xauthority
..  .bashrc        .conda  jupyterhub_cookie_secret  .npm 
root@iZuf60za0a748jc3c71epvZ:~# vim ~/.bashrc

##下面为激活miniconda的环境配置信息
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/opt/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/opt/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/opt/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/opt/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

##最后执行命令:
root@iZuf60za0a748jc3c71epvZ:~# source ~/.bashrc
(base) root@iZuf60za0a748jc3c71epvZ:~# 

这样每次登陆root用户都会自动激活base环境,对于其他用户也使用root用户在/opt下安装的miniconda3,只需要在每个用户下的.bshrc文件添加上面的环境配置信息。并且执行source ~/.bashrc 即可。

两种配置方式:

  • 1、~/.bashrc:该文件包含专用于某个用户的bash shell的bash信息,当该用户登录时以及每次打开新的shell时,该文件被读取。每个用户的.bashrc都更改,并激活;
  • 2、将配置信息添加到etc/profile 此文件为系统的每个用户设置环境信息,当第一个用户登录时,该文件被执行.

二、linux服务器上为单个用户安装jupyter,并实现远程访问,保证数据开发工作

jupyter简介

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。upyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。对于数据开发这来说jupyter是一个很好的开发环境,数据挖掘领域中最热门的比赛 Kaggle 里的资料都是Jupyter 格式。

linux服务器安装jupyter notebook并激活配置

  • 更换到安装用户目录下
(base) root@iZuf60za0a748jc3c71epvZ:~# su wss
(base) wss@iZuf60za0a748jc3c71epvZ:/root$ cd  ~
(base) wss@iZuf60za0a748jc3c71epvZ:~$ ls -a
  • pip 或者conda 安装jupyter
(base) wss@iZuf60za0a748jc3c71epvZ:~$ pip  -u install jupyter
  • 生成jupyter notebook配置文件
(base) wss@iZuf60za0a748jc3c71epvZ:~$ jupyter notebook --generate-config

##查看生成的配置文件
(base) wss@iZuf60za0a748jc3c71epvZ:~$ vi ~/.jupyter/jupyter_notebook_config.py 

# Configuration file for jupyter-notebook.


c.NotebookApp.ip='*' ##访问ip,一般为服务器公网或者私网ip
c.NotebookApp.password = u'(此处填写登录密码)'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8001 ##指定的访问配置端口

  • 设置jupyter登录密码,并且生成密文
(base) wss@iZuf60za0a748jc3c71epvZ:~$ python
Python 3.7.4 (default, Aug 13 2019, 20:35:49) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from notebook.auth import passwd
>>> passwd()
Enter password: 
Verify password: 
'密文'
>>> 
  • 设置jupyter登录密码,并且生成密文
(base) wss@iZuf60za0a748jc3c71epvZ:~$ vi ~/.jupyter/jupyter_notebook_config.py 
##将上述生成的密文添加到
c.NotebookApp.password = u'(此处填写登录密码)'
  • 启动jupyter (后台挂起)
    在服务器终端输入以下命令,会默认使用jupyter_notebook_config.py 配置来开启当前客户端的jupyter notebook服务。
##后台始终挂起进程,并且输出日志到jupyter.log
(base) wss@iZuf60za0a748jc3c71epvZ:~$ nohup jupyter notebook << jupyter.log &
  • 利用 ip:8001(指定的ip和端口)进行远程登录
  • 查看后台运行,杀死进程,重新启动jupyter等操作
(base) wss@iZuf60za0a748jc3c71epvZ:~$ ps ux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
wss        300  0.0  1.0  41856 22332 pts/0    S+   02:37   0:00 python
wss        384  0.0  0.2  22500  5008 pts/1    S    02:49   0:00 bash
wss        422  0.0  0.1  37364  3292 pts/1    R+   02:56   0:00 ps ux
wss      18615  0.0  0.9  61196 20228 ?        Ss    2019  25:34 /home/wss/sites/shuangblog.com/env/bin/python3 /home/wss/sites/shuangblo
wss      18622  0.0  3.1 168792 65324 ?        S     2019   5:16 /home/wss/sites/shuangblog.com/env/bin/python3 /home/wss/sites/shuangblo
wss      18623  0.0  3.1 168316 64996 ?        S     2019   5:20 /home/wss/sites/shuangblog.com/env/bin/python3 /home/wss/sites/shuangblo
wss      30126  0.0  2.8 106548 58172 ?        S    Feb21   0:02 /opt/miniconda3/bin/python /home/wss/.local/bin/jupyter-notebook
wss      32691  0.0  0.2  22604  5308 pts/0    S    01:43   0:00 bash
(base) wss@iZuf60za0a748jc3c71epvZ:~$ ps -ef|grep jupyter
wss        424   384  0 02:57 pts/1    00:00:00 grep --color=auto jupyter
wss      30126     1  0 Feb21 ?        00:00:02 /opt/miniconda3/bin/python /home/wss/.local/bin/jupyter-notebook
(base) wss@iZuf60za0a748jc3c71epvZ:~$ kill -9 30126
(base) wss@iZuf60za0a748jc3c71epvZ:~$ ps -ef|grep jupyter
wss        428   384  0 02:58 pts/1    00:00:00 grep --color=auto jupyter

##重启进程
(base) wss@iZuf60za0a748jc3c71epvZ:~$ nohup jupyter notebook >>jupyter.log &
[1] 652
(base) wss@iZuf60za0a748jc3c71epvZ:~$ ps -ef|grep jupyter
wss        652   625  2 03:09 pts/1    00:00:00 /opt/miniconda3/bin/python /opt/miniconda3/bin/jupyter-notebook

具体的远程登录jupyter界面如下:

三、linux单服务器多用户同时开发,jupyterhub安装

jupyterhub简介

jupyterhub适合于项目小组的多人同时在线开发,对于linux的多用户开发创建。支持多用户的 Jupyter Notebook 服务器,用于创建、管理、代理多个 Jupyter Notebook 实例。具有扩展性和可定制性。

具体安装流程可以参考一下博客文章

四、基本使用流程(包括虚拟环境创建使用以及脚本新建等)

新建脚本文件,并给输入相关测试代码:

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐