Linux 的 conda 目录默认仅对 root 用户可写,那 pip 怎么办?

326 天前
 chackchackGO

pip install 时会提示 site-pakcage 目录不可写, 默认向用户目录写。

记得我在 wsl 安装时没遇到过这个问题啊。

正确的解决方案是什么? 给/opt/miniconda3目录递归的加上写一般用户的写权限?

1216 次点击
所在节点    Python
15 条回复
nagisaushio
326 天前
你 conda 怎么装的?
chackchackGO
326 天前
@nagisaushio 记得是"sudo pacman -S miniconda3"
chackchackGO
326 天前
@nagisaushio 好像 miniconda3 只在 aur 有, 那就是 yay 装的了。。
lonewolfakela
326 天前
答案是 conda 应该用用户权限装在用户目录下,而不是用管理员权限装在/opt 下面……
Worldispow
326 天前
win 也有这个问题,需要手动调整目录权限
Muniesa
326 天前
用 conda 官网的 sh 装,默认是在用户目录下面的
chackchackGO
326 天前
@lonewolfakela
@Worldispow
@Muniesa 哦对,确实官网的安装向导都是指向用户目录下。
那我还是直接改/opt/miniconda3 的目录权限吧
KaliZ
326 天前
可以通过环境变量 CONDA_ENVS_PATH 修改 conda 的存储路径,建议生成一个 envs.sh 脚本,每次登陆的时候 source 一下

#!/usr/bin/bash
# envs.sh

export CONDA_ENVS_PATH=/usr/${usrname}/.conda/envs
source activate base
conda activate py36

# end of envs.sh
proxytoworld
325 天前
用 sudo 装?
EVANGELIONAir
325 天前
我给课题组服务器安装 anaconda 的方法是这样的

下载 anaconda.sh ,然后
sudo bash PATH/AnacondaXXXXX.sh

指定安装目录 /opt/anaconda3
这样能所有用户访问

每个用户自己的环境会在自己的 home 目录下自动生成.conda 文件夹,互不干扰
EVANGELIONAir
325 天前
每个用户的 bash 或 zsh 要添加以下内容

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/opt/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/opt/anaconda3/etc/profile.d/conda.sh" ]; then
. "/opt/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/opt/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
yolee599
325 天前
考虑一下 python -m venv ?现在安装 pip 包规范的做法就是这样。
chackchackGO
325 天前
@yolee599 不同环境安装相同包时会自动拉取本地缓存吗?
chackchackGO
325 天前
@EVANGELIONAir 那你的情况应该就是和主题描述的情况一致,pip fallback 写入到用户目录去了..
julyclyde
324 天前
@yolee599 感觉好像规范做法变过很多轮
不知道当前的规范是怎样的

貌似是区分 system 、user 、app specific ?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1005233

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX