建议使用Miniconda,原因:
只含有Conda和Python,没有Spyder、Jupyter等组件,非常轻量。如果想用Jupyter,可以直接用VSCode安装Python扩展,然后新建ipynb文件 base环境只有少量的预装库,更加轻量。每做一个新项目就要开一个新环境,不要在base下面做开发 不用担心每次新建环境,网速跟不上的问题,可以用clone指令,从现有环境中create一个一模一样的环境 Miniconda 官方下载地址
常用指令及安装GPU版PyTorch
换源,著名的清华源conda分源在此Anaconda 镜像 ,Anaconda和Miniconda的源是共用的。但是清华源用的人很多,会变得很慢,大家可以去搜索一些冷门的源,比如说:北京外国语大学的源 pip 的源也要进行更换,pip 换源后,对于每一个新建的 conda 环境都有效,清华源 pip 分源在此PyPI 镜像 新建一个环境,命名为pytorch112_py38,112是PyTorch版本号v1.12.1的意思,建议使用这种版本号末尾有.1的版本,像是v1.13.0这种版本,会有新版本的bug Python版本要求大于等于3.8,为了兼容大多数使用PyTorch v1.x版本的仓库,我就采用3.8
conda create --name pytorch112_py38 python = 3.8 .18
激活pytorch112_py38环境,安装v1.12.1版本PyTorch,一定要先换源再安装
conda activate pytorch112_py38
conda install pytorch == 1.12 .1 torchvision == 0.13 .1 torchaudio == 0.12 .1 cudatoolkit = 11.3 -c pytorch
对于 PyTorch 2.0 版本,建议采用 Python 3.10
conda create --name pytorch22_py310 python = 3.10 .12
conda activate pytorch22_py310
conda install pytorch == 2.2 .2 torchvision == 0.17 .2 torchaudio == 2.2 .2 pytorch-cuda= 11.8 -c pytorch -c nvidia
到这儿你可能要问了,我不想把环境命名为pytorch112_py38该怎么办呀?放心,pytorch112_py38是用来clone建立新的环境用的,不是直接拿来用的。现在用pytorch112_py38来clone新环境,命名为env
conda deactivate
conda create --name env --clone pytorch112_py38
现在可以查看已有的环境,然后激活clone出来的新环境
conda env list
conda activate env
要单独删除环境里的某个包很简单,比如说从env删除sqlite:
conda remove --name env sqlite
要完全删除新建的环境,需要先退出要被删除的环境,然后删除:
conda deactivate
conda remove --name env --all
解决PowerShell启动时无法激活虚拟环境的问题
Conda安装在Windows后,默认不在任何命令行激活虚拟环境,需要init
PS C:\ Users\ lenovo> conda init --help
usage: conda-script.py init [ -h] [ --all] [ --reverse] [ --anaconda-prompt]
[ --json] [ -v] [ -q] [ -d] [ shells .. .]
Initialize conda for shell interaction. [ Experimental]
Options:
positional arguments:
shells One or more shells to be initialized. If not given,
the default value is 'bash' on unix and 'cmd.exe' on Windows.
Use the '--all' flag to initialize all shells.
Currently compatible shells are { bash, cmd.exe, fish, powershell, tcsh, xonsh, zsh}
如果直接conda init,则是init了cmd,而不是powershell
PS C:\ Users\ lenovo> conda init powershell
no change C:\ Users\ lenovo\ miniconda3\ Scripts\ conda.exe
no change C:\ Users\ lenovo\ miniconda3\ Scripts\ conda-env.exe
no change C:\ Users\ lenovo\ miniconda3\ Scripts\ conda-script.py
no change C:\ Users\ lenovo\ miniconda3\ Scripts\ conda-env-script.py
.. .. ..
此时需要关闭当前终端,然后再打开,才能使改变生效。但是PowerShell默认是禁止运行脚本的,因此再次启动PowerShell会报错
. : 无法加载文件 C:\ Users\ lenovo\ Documents\ WindowsPowerShell\ profile.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID= 135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 3
+ . 'C:\Users\lenovo\Documents\WindowsPowerShell\profile.ps1'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: ( :) [ ] ,PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
// 通过Get-ExecutionPolicy可发现是受限的
PS C:\ Users\ lenovo> Get-ExecutionPolicy
Restricted
需要“以管理员身份运行”PowerShell,然后执行Set-ExecutionPolicy RemoteSigned,输入Y
PS C:\ WINDOWS\ system32 > Set-ExecutionPolicy RemoteSigned
执行策略更改
执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如
https:/go.microsoft.com/fwlink/?LinkID= 135170
中的 about_Execution_Policies 帮助主题所述。是否要更改执行策略?
[ Y] 是( Y) [ A] 全是( A) [ N] 否( N) [ L] 全否( L) [ S] 暂停( S) [ ?] 帮助 ( 默认值为“N”) : Y
关闭当前终端,然后再打开,发现能自动激活虚拟环境了
( base) PS C:\ Users\ lenovo> conda list
.. .. ..
查看Conda信息
conda info
active environment : kan-tts
active env location : /home/huangzhuofei/miniconda3/envs/kan-tts
shell level : 2
user config file : /home/huangzhuofei/.condarc
populated config files : /home/huangzhuofei/.condarc
conda version : 23.9 .0
conda-build version : not installed
python version : 3.11 .5.final.0
virtual packages : __archspec = 1 = x86_64
__cuda = 12.0 = 0
__glibc = 2.27 = 0
__linux = 5.4 .0= 0
__unix = 0 = 0
base environment : /home/huangzhuofei/miniconda3 ( writable)
conda av data dir : /home/huangzhuofei/miniconda3/etc/conda
conda av metadata url : None
channel URLs : https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/linux-64
https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/noarch
https://mirrors.bfsu.edu.cn/anaconda/pkgs/r/linux-64
https://mirrors.bfsu.edu.cn/anaconda/pkgs/r/noarch
https://mirrors.bfsu.edu.cn/anaconda/pkgs/msys2/linux-64
https://mirrors.bfsu.edu.cn/anaconda/pkgs/msys2/noarch
package cache : /home/huangzhuofei/miniconda3/pkgs
/home/huangzhuofei/.conda/pkgs
envs directories : /home/huangzhuofei/miniconda3/envs
/home/huangzhuofei/.conda/envs
platform : linux-64
user-agent : conda/23.9.0 requests/2.31.0 CPython/3.11.5 Linux/5.4.0-150-generic ubuntu/18.04.6 glibc/2.27
UID :GID : 1006 :1006
netrc file : None
offline mode : False
导出导入环境
先激活环境,然后导出当前环境到environment.yaml
conda activate kan-tts
( kan-tts) conda env export --file environment.yaml --no-builds
直接从environment.yaml
创建环境,创建的环境名和environment.yaml
里的name字段一致,可以用--name
指定新的环境名
conda env create --file environment.yaml --name new_env_name
或者从environment.yaml
更新现有环境,此时现有环境需要和environment.yaml
里的name字段一致,否则要用--name
conda env update --file environment.yaml --name cur_env_name
安装GCC编译器
conda能够安装GCC编译器是环境管理的福音 能够在无root权限的情况下进行安装 为了精确定位当前系统需要的GCC编译器,可前往conda官网 搜索GCC包,如下 对于64位的Linux系统,安装gcc_impl_linux-64
conda create --name gcc python = 3.8 .18
conda activate gcc
conda install gcc_impl_linux-64
cd /{ 你的conda安装路径} /miniconda3/envs/gcc
find -name "gcc" -type f
输出: ./libexec/gcc/x86_64-conda-linux-gnu/11.2.0/gcc
最后将查找到的gcc文件的目录,永久加入到环境变量中
vim ~/.bashrc
export PATH = "$PATH :/{你的conda安装路径}/miniconda3/envs/gcc/libexec/gcc/x86_64-conda-linux-gnu/11.2.0"
然后关闭当前命令行,再打开,就能在任意环境下使用gcc编译器了
$ gcc --version
gcc ( Anaconda gcc) 11.2 .0
Copyright ( C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.