赞
踩
Jupyter Notebook(Lab)的一些使用技巧(Miniconda/mamba加快conda安装) |
Notebook
在运行超过限定资源的时候会重启,仅保留/data/private/workspace/
下的所有目录,其他文件夹下的目录会全部删除,原因是/data/private/workspace/
是docker
镜像对外的挂载点。- 为了保证重启后
notebook
环境不丢失,推荐在/data/private/workspace/
底下的安装miniconda
,python
环境利用该conda3
环境安装,其他的需要编译的文件记录在/data/private/workspace/
底下的install.sh
里面,重启之后运行install.sh
文件安装环境。
- 不要对
notebook
默认内置的conda
环境进行升级、修改,改变内置的conda
环境会导致实例直接崩溃,如果需要对conda
进行变更,可以重新下载conda
,配置过程如下:
wget -c https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py37_22.11.1-1-Linux-x86_64.sh
- Miniconda下载网址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
- 然后给下载的文件赋予可执行权限并运行:
chmod 777 Miniconda3-latest-Linux-x86_64.sh
# bash ~/miniconda.sh -b -p $HOME/miniconda
# -b 表示将环境变量自动写入到~/.bash文件中
# -p 表示你的安装路径
bash Miniconda3-latest-Linux-x86_64.sh
- 安装过程中,提示阅读用户许可协议,需要按
“Enter”
继续,并输入“yes”
继续安装,并列出conda
安装的具体路径,由于notebook
环境重启会导致安装包删除,所以一定要将新安装的conda
安装到/data/private/workspace
下。我们将新安装的conda
安装到/data/private/workspace/conda3
。最后询问是否初始化Miniconda3
时,直接选yes
。
- 将下载好的
conda3
命令软链接到/usr/bin
中,因为默认配置中已经有conda3
命令,所以直接将新安装的conda3
命令软链接为conda
命令:
ln -s /data/private/workspace/conda3/bin/conda /usr/bin/conda
- 在这里要注意,利用
conda
创建新的虚拟环境时,一定要指定一个新的python
版本,如果不指定,默认是使用系统/usr/bin/python
命令的版本,默认是2.7
,所以要使用如下命令,以创建一个名为lab
的虚拟环境为例:
conda create -n lab python=3.7
- 要启动虚拟环境,首先要执行以下命令:如果不执行上面的命令,会一直提示要通过conda init进行初始化,但是初始化以后还是激活不了虚拟环境,切记。
. /data/private/workspace/conda3/etc/profile.d/conda.sh
- 然后就可以通过以下命令启动新的虚拟环境了:
conda activate lab
- 由于
notebook
的原因,每次启动前虚拟环境前都需要执行/data/private/workspace/conda3/etc/profile.d/conda.sh
脚本。
- conda是个安装软件的神器,但镜像不稳定,下载安装软件的速度有时很慢。对于几十Mb甚至上百Mb的软件往往下不动,下了半天可能失败。
- 找了一个叫mamba的加速神器,可以用来并行下载和安装,大大加快速度,减少失败几率。
- 首先,mamba本身需要先通过conda来安装:
conda install -c conda-forge mamba
# 依赖python,所以这里慢也没办法,只有等。
- mamba安装成功后,后续所有软件安装都可将conda替换为mamba了,如mamba install -y bwa。如r下载:
mamba install -c conda-forge r-base
- 利用
ssh
,可以在本地使用pycharm
连接远程的notebook
环境,进行远程开发和debug
。- 申请一个端口映射,以下配置在
notebook
重启之后会被删除,所以最好写个shell
脚本运行。
- 1. 安装sshd
yum install openssh-server
- 2. 生成密钥文件
ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
- 3. 修改端口号。
vi /etc/ssh/sshd_config
,将配置文件中的端口号改为申请的端口。
- 4. 修改
root
密码
passwd root
- 5. 启动
SSH
服务,需要目录/var/run/sshd
存在
mkdir -p /var/run/sshd
/usr/sbin/sshd
- 需要
pycharm专业版
支持,社区版没有ssh
同步插件。推荐配置远程python
解释器,远程解释器引用/data/private/workspace/miniconda3/bin/python3
。
- 完成上述配置后,就可以在本地使用
notebook
环境进行远程开发和debug
了。
- 可以根据下面的步骤增加新的
python kernel
- 在
notebook
内打开新的terminal
,其中lab
是环境名称可随意修改。
conda3 create -n tf2 python=3.7 ipykernel
- 等待新环境创建成功并验证: 执行下面的目录会看到一个
tf2
的环境目录
ls -l /opt/conda3/envs`在这里插入代码片`
- 将新环境加到
jupyter notebook
的kernel
列表
/opt/conda3/envs/tf2/bin/python -m ipykernel install --user --name 'tf2'
- 找任意一台可访问互联网的安装
linux
操作系统(建议centos7
)的机器,创建一个conda环境并安装ipykernel
库。- 创建一个新的
conda
环境,可采用conda create
也可以使用conda(miniconda)
的离线安装包命令略。- [ 必须 ] [必须] [必须] 安装
ipykernel
,下面例子使用conda
安装,也可使用pip
: { 使用的环境 } \{使用的环境\} {使用的环境}/bin/pip install ipykerne
$ tf2/bin/conda install ipykernel
- 环境打包
tar -zcvf tf2.tgz tf2 --exclude pkgs
- [ n o t e b o o k 容器内 ] [notebook容器内] [notebook容器内]将压缩包放到
notebook
实例内(建议/opt/conda3/envs
),并解压:
cd /opt/conda3/envs && tar -zxvf tf2.tgz
- 补充:压缩和解压命令
# 补充的压缩和解压缩!
# 1. 打包压缩
tar -zcvf pack.tar.gz pack/ #打包压缩为一个.gz格式的压缩包, 和.tgz一样
tar -jcvf pack.tar.bz2 pack/ #打包压缩为一个.bz2格式的压缩包
tar -Jcvf pack.tar.xz pack/ #打包压缩为一个.xz格式的压缩包
# 2. 解包解压
tar -zxvf pack.tar.gz /pack #解包解压.gz格式的压缩包到pack文件夹, 和.tgz一样
tar -jxvf pack.tar.bz2 /pack #解包解压.bz2格式的压缩包到pack文件夹
tar -Jxvf pack.tar.xz /pack #解包解压.xz格式的压缩包到pack文件夹
- 将新环境加到
jupyter notebook
的kernel
列表
/opt/conda3/envs/tf2/bin/python -m ipykernel install --user --name 'tf2'
- 验证加入成功,需要刷新网页。
jupyter
运行时找不到ipykernel_launcher
,只需安装ipykernel_launcher
即可
pip3 install ipykernel_launcher
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。