Conda 是一个 python 包管理器 & 虚拟环境管理器,用于隔离项目环境和系统环境,每一个虚拟环境有自己的 python 解释器以及软件包 pkg。类似的包管理软件还有 pdm
和 poetry
。Conda 不同的地方在于它还能负责 cuda、g++ 等软件包的安装,尤其适用于科学计算领域。
Miniconda 是 python 的一个发行版,就像 Arch 之于 Linux 一样,它开箱带有自己的一系列配套软件(通常都是一些适用科学计算的 package),一个包管理器(Conda)。Miniconda 是 Anaconda 的青春版,是最小化安装的 Anaconda, 而 Anaconda 则比较臃肿。
> yay -Syu miniconda3
添加 conda shell 脚本到 rc(我这里conda.bashrc
会自动在每次用户登录时加载):
echo "[ -f /opt/miniconda3/etc/profile.d/conda.sh ] && source /opt/miniconda3/etc/profile.d/conda.sh" >> ~/.bashrc.d/conda.bashrc
> conda create -n learn
^虚拟环境名称
> conda activate learn
此时你的 python 套件全部换成该环境下的binary,你可以试试 which python && which pip && which conda
> export CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1
cryptography
库:> conda install cryptography
<aside>
❓ **为什么上面的方法没用?**因为之前使用 yay
将 miniconda3
安装成 systemwide,且如果使用 激活的是 base 环境,conda 会将 pkg 安装到系统级目录,会出现权限问题,且环境变量也应当使用系统环境变量。如果硬要使用 base 环境, install
指令应当添加 sudo
使用。环境变量也应当添加为 systemwide,或者使用 sudo -E
使用用户变量。
</aside>
<aside>
🛠 依然报错(site-package
字眼)—— 暴力重装:干净删除miniconda所有包,然后重装:
> sudo rm /opt/miniconda3/ -rf
> yay -Syu miniconda3
</aside>