初探Linux运维——Anaconda多环境管理/Jupyter远程连接

Anaconda多环境管理

当我们有一台多人使用的深度学习服务器时,每个人的任务不一样,如果我们用的编程语言/包的版本都有区别,那大家混着用一个环境,就会出现很多头疼的问题。因此,给每个人建立一个独立的编程环境就很重要了。
Anaconda不仅仅是我们安装python最方便的方法,也是多环境管理的利器。这篇文章主要分享关于使用anaconda进行多环境管理的方法。

1.安装anaconda3,并添加到环境变量

下载sh文件,通过bash命令安装:


添加到环境变量中,通过source激活:
在根目录的etc文件夹下有个文件叫profile,在这里可以添加环境变量,并且对所有用户都有效。
我们通过vim去编辑这个文件:



进入之后,按i进入insert模式(编辑模式),在文末添加:

#Anaconda3
export PATH=/home/x1c/anaconda3/bin:$PATH

其中/home/x1c/anaconda3是我的电脑中anaconda安装的位置。
修改完之后,按Esc退出insert模式,进入命令模式,输入:wq回车,即可保存退出。

最后,将刚刚的修改激活:source /etc/profile:


此时,在命令行中直接输入python,可以看到python从linux默认版本变成了anaconda版本:

(注:如果你在重启命令行终端的时候,发现python还是系统默认版本,那么重启电脑应该就可以了。我就是这种情况。)

2.通过conda info --envs 查看当前的环境

初探Linux运维——Anaconda多环境管理/Jupyter远程连接_第1张图片

3.通过conda create --name创建新环境:


然后会显示类似如下的信息:
初探Linux运维——Anaconda多环境管理/Jupyter远程连接_第2张图片

安装好之后,会看到这样的提示信息:
初探Linux运维——Anaconda多环境管理/Jupyter远程连接_第3张图片

告诉你如何激活环境和退出环境,这些命令之后会经常使用,所以建议记下来:

# To activate this environment, use:
# > source activate dlnlp-py37
#
# To deactivate an active environment, use:
# > source deactivate

另外,有时候我们创建新环境的时候,想直接拷贝一份其他的环境,比如anaconda的基本环境,因为里面有很多包,我们不想之后再自己一个个去安装。那么我们就可以在创建环境的时候加上clone,比如我们的基础环境叫base,那么可以使用命令conda create -n dlnlp-py37 --clone base来创建:

初探Linux运维——Anaconda多环境管理/Jupyter远程连接_第4张图片

4.再通过conda info --envs命令查看是否安装好了新的环境:


发现,果真有了一个新的环境,叫dlnlp-py37.

5.通过source activate 环境名进入创建的新环境


环境激活后,可以看到前面多了一个括号显示你的环境名称。

6.想要退出环境,使用source deactivate命令


可以看到,前面的括号消失了。

7.如果要删除环境,使用conda remove --name your-env-name --all


至此,我们已经完成了在服务器上多环境的安装。
如果有新同学想使用服务器进行任务开发,那么就让ta直接通过:

  • conda create -n [your_env_name] --clone [some_env]创建属于ta的环境
  • source activate [your_env_name]激活ta的环境
    然后ta可以个性化地通过pip安装一些包,然后开始自己的任务。
    记住一定要先激活你自己的环境,不然你使用的就是默认的环境!

Jupyter Notebook远程连接

1.设置jupyter notebook密码和其他配置(服务器端):



会一串密码。

通过jupyter notebook --generate-config
生成notebook的配置文件,通过vim去编辑,在里面添加:

c.NotebookApp.ip='*' #指定那些ip地址可以访问,*就是所有地址
c.NotebookApp.password = u'....' # 刚刚生成的字符串密码
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888 #随便指定一个端口

好了,然后退出。使用jupyter notebook命令开启notebook。
此时可看到服务器上显示了一个访问url。

2.本地开启ssh端口映射(本地)
使用ssh username@host -L 1234:127.0.0.1:8888
来讲服务器的8888端口,映射为本地的1234端口。

然后,在本地浏览器上输入http://localhost:1234/,即可进入jupyter界面!输入密码后,即可远程控制服务器上的notebook了!

你可能感兴趣的:(初探Linux运维——Anaconda多环境管理/Jupyter远程连接)