精准复制整个环境

适合:

  • 服务器迁移
  • 离线环境
  • 不想重新下载依赖
  • CUDA 复杂环境

1. 安装 conda-pack

conda install -c conda-forge conda-pack

2. 打包环境

将环境名awdpcnn更换为自己的conda环境

conda activate awdpcnn

conda pack -o awdpcnn.tar.gz

得到:

awdpcnn.tar.gz

3. 发给对方

对方解压:

mkdir -p ~/envs/awdpcnn

tar -xzf awdpcnn.tar.gz -C ~/envs/awdpcnn

4. 修复路径

执行:

sudo apt update
sudo apt install python-is-python3

这个包会自动创建:

/usr/bin/python -> /usr/bin/python3

然后执行

~/envs/awdpcnn/bin/conda-unpack

再激活环境

source ~/envs/awdpcnn/bin/activate

在同一台 Linux / Ubuntu 机器上,给另一个用户传大文件

假设:

  • 当前用户:userA
  • 目标用户:userB
  • 文件:
/home/userA/awdpcnn.tar.gz

使用共享目录(推荐服务器)

建立公共共享目录:

sudo mkdir -p /shared

开放权限:

sudo chmod 777 /shared

然后:

cp pinn_env.tar.gz /shared/

另一个用户:

cp /shared/pinn_env.tar.gz ~/

如果有权限问题

sudo chmod 644 /shared/awdpcnn.tar.gz
sudo chmod 777 /shared

Python 项目路径(PYTHONPATH)问题

当前项目结构:

AW-DPCNN/
│
├── src/
│   ├── trainers/
│   ├── models/
│   └── ...
│
└── scripts/
    └── train.py

而:

from src.trainers.workflow import train_and_evaluate

要求:

AW-DPCNN 根目录

必须在 Python 搜索路径里。

最推荐解决方案(标准科研项目做法)

在项目根目录执行:

export PYTHONPATH=$(pwd)

然后再运行

更多推荐