conda-pack 打包
使用 conda-pack 打包 Conda 环境可以将整个环境打包成一个独立的可移植压缩包,方便在其他机器上解压使用。以下是具体步骤:
1.安装 conda-pack
首先需要安装 conda-pack。你可以通过 conda 或 pip 安装:
conda install -c conda-forge conda-pack
或
pip install conda-pack
2. 创建并激活 Conda 环境
如果你还没有创建一个 Conda 环境,可以使用以下命令创建一个新环境:
conda create --name myenv python=3.8
conda activate myenv
3. 安装所需的包
在激活的环境中安装你所需的包,例如:
conda install numpy pandas
4. 打包环境
使用 conda-pack 将环境打包成一个压缩文件:
conda pack -n myenv -o myenv.tar.gz
这里,-n myenv 指定要打包的环境名称为 myenv,-o myenv.tar.gz 指定输出文件名为 myenv.tar.gz。
5. 将压缩包传送到目标机器上(超算)
6. 解压缩包
在目标机器上解压压缩包:
mkdir -p ~/myenv
tar -xzf myenv.tar.gz -C ~/myenv
以我为例: 我先新建了一个env_clrnet的文件夹。随后将压缩包解压到这个文件夹下。
解压后:
7. 修复环境
解压后,需要修复环境中的路径:
~/myenv/bin/conda-unpack
这一步将更新环境中的路径,使其在新的位置上正常工作。
8. 使用环境,以后需要激活环境也是使用这个命令。
可以直接激活和使用解压后的环境:
source ~/myenv/bin/activate
我具体的代码执行如下:
解决可编辑包无法打包的问题
在我执行了clrnet中的setup.py后,打包会 报错如下:
(clrnet) root@e688bc15f52d:/zhangquan/CLRNet-main# conda pack -n clrnet -o clrnet.tar.gzCollecting packages...
CondaPackError: Cannot pack an environment with editable packages
installed (e.g. from python setup.py develop orpip install -e). Editable packages found:- /zhangquan/CLRNet-main
你这条命令的报错是因为你在 CLRNet-main 目录下用了 pip install -e . 这种 开发者模式安装(editable mode),它会创建一个指向源代码目录的软链接,而 conda pack 不允许这种环境被打包。
解决方法:
# 卸载 editable 模式安装的包
pip uninstall clrnet# 使用普通安装方式重新安装
pip install .
然后再执行:
conda pack -n clrnet -o clrnet.tar.gz