『Python学习笔记』Jupyter Notebook(Lab)的一些使用技巧(Miniconda/mamba加快conda安装)!

Jupyter Notebook(Lab)的一些使用技巧(Miniconda/mamba加快conda安装)

一. 存储问题

  • Notebook在运行超过限定资源的时候会重启,仅保留/data/private/workspace/下的所有目录,其他文件夹下的目录会全部删除,原因是/data/private/workspace/docker镜像对外的挂载点
  • 为了保证重启后notebook环境不丢失,推荐在/data/private/workspace/底下的安装minicondapython环境利用该conda3环境安装,其他的需要编译的文件记录在/data/private/workspace/底下的install.sh里面,重启之后运行install.sh文件安装环境。

二. Notebook环境安装conda并使用

  • 不要对notebook默认内置的conda环境进行升级、修改,改变内置的conda环境会导致实例直接崩溃,如果需要对conda进行变更,可以重新下载conda,配置过程如下:

2.1. 下载安装Miniconda

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
  • 然后给下载的文件赋予可执行权限并运行:
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

2.2. 设置软链接

  • 将下载好的conda3命令软链接到/usr/bin中,因为默认配置中已经有conda3命令,所以直接将新安装的conda3命令软链接为conda命令:
ln -s /data/private/workspace/conda3/bin/conda /usr/bin/conda

2.3. 创建虚拟环境

  • 在这里要注意,利用conda创建新的虚拟环境时,一定要指定一个新的python版本,如果不指定,默认是使用系统/usr/bin/python命令的版本,默认是2.7,所以要使用如下命令,以创建一个名为lab的虚拟环境为例:
conda create -n lab python=3.7

2.4. 启动虚拟环境

  • 要启动虚拟环境,首先要执行以下命令:如果不执行上面的命令,会一直提示要通过conda init进行初始化,但是初始化以后还是激活不了虚拟环境,切记。
. /data/private/workspace/conda3/etc/profile.d/conda.sh
  • 然后就可以通过以下命令启动新的虚拟环境了:
conda activate lab
  • 由于notebook的原因,每次启动前虚拟环境前都需要执行/data/private/workspace/conda3/etc/profile.d/conda.sh脚本。

2.5. 使用mamba加快conda安装软件速度?

  • 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

三. Pycharm通过ssh远程连接notebook

  • 利用ssh,可以在本地使用pycharm连接远程的notebook环境,进行远程开发和debug
  • 申请一个端口映射,以下配置在notebook重启之后会被删除,所以最好写个shell脚本运行。

3.1. sshd配置

  • 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

3.2. Pycharm配置

  • 需要pycharm专业版支持,社区版没有ssh同步插件。推荐配置远程python解释器,远程解释器引用/data/private/workspace/miniconda3/bin/python3
  • 完成上述配置后,就可以在本地使用notebook环境进行远程开发和debug了。

3.3. 自定义python环境并加到jupyter kernel

  • 可以根据下面的步骤增加新的python kernel

3.3.1. 可访问互联网

  • notebook内打开新的terminal,其中lab是环境名称可随意修改。
conda3 create -n tf2 python=3.7 ipykernel
  • 等待新环境创建成功并验证: 执行下面的目录会看到一个tf2的环境目录
ls -l /opt/conda3/envs`在这里插入代码片`
  • 将新环境加到jupyter notebookkernel列表
/opt/conda3/envs/tf2/bin/python -m ipykernel install --user --name 'tf2'

3.3.2. 不可访问互联网

  • 找任意一台可访问互联网的安装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 notebookkernel列表
/opt/conda3/envs/tf2/bin/python -m ipykernel install --user --name 'tf2'
  • 验证加入成功,需要刷新网页。

3.4. Notebook jupyter运行报No Kernel

  • jupyter运行时找不到ipykernel_launcher,只需安装ipykernel_launcher即可
pip3 install ipykernel_launcher

四. 参考文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI大模型前沿研究

感谢您的打赏,我会继续努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值