Conda 指定安装目录|完全修改huggingface/torch等框架的.cache目录
2024-12-12
为什么要这么做?
起因是实验室的机器将数据磁盘和用户目录完全分离了,也就是说~/用户目录并不能放很多东西,需要另外到/data/~目录下才能大的文件和环境。
这样会破坏很多现有的环境相关的包依赖,这篇推文当做一个踩坑记录了。
自定义conda 安装目录
- 首先下载 miniconda
1
| wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
|
- 使用
-b
和 -p
参数进行静默安装,并指定安装路径
1
| bash Miniconda3-latest-Linux-x86_64.sh -p /data/user/miniconda3
|
⚠️/data/user/miniconda3 记得改成你自己的数据目录
- 初始化conda
修改所有可能的.cache目录
现在conda 已经移动到/datda 目录了,但是现在运行代码时,经常会遇到模型和数据集又给下载到~/用户目录了,该怎么办呢?
现在我们修改~/.bashrc 文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
| #这一部分是Conda环境的初始化,一般conda init 后会自动生成
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/data/user/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/data/user/miniconda3/etc/profile.d/conda.sh" ]; then
. "/data/user/miniconda3/etc/profile.d/conda.sh"
else
export PATH="/data/user/miniconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
#下面是相关变量配置
#huggingface镜像源
export HF_ENDPOINT=https://hf-mirror.com
#XDG cache 目录
export XDG_CACHE_HOME="/data/zhansx/.cache"
#Huggingface
export HF_HOME="/data/zhansx/.cache/huggingface"
export TRANSFORMERS_CACHE="/data/zhansx/.cache/huggingface/transformers"
export HF_DATASETS_CACHE="/data/zhansx/.cache/huggingface/datasets"
# PyTorch
export TORCH_HOME="/data/zhansx/.cache/torch"
# Conda
export CONDA_ENVS_PATH="/data/zhansx/.cache/conda/envs"
export CONDA_PKGS_DIRS="/data/zhansx/.cache/conda/pkgs"
# pip
export PIP_CACHE_DIR="/data/zhansx/.cache/pip"
# TensorFlow
export KERAS_HOME="/data/zhansx/.cache/keras"
export TENSORFLOW_CACHE_DIR="/data/zhansx/.cache/tensorflow"
#下面是代理设置,设置后只需要输入proxy_on或proxy_off来开启关闭代理
proxy_on() {
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export no_proxy=127.0.0.1,localhost
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
export NO_PROXY=127.0.0.1,localhost
echo -e "\033[32m[√] 已开启代理\033[0m"
}
# 关闭系统代理
proxy_off(){
unset http_proxy
unset https_proxy
unset no_proxy
unset HTTP_PROXY
unset HTTPS_PROXY
unset NO_PROXY
echo -e "\033[31m[×] 已关闭代理\033[0m"
}
|