Anaconda和Python指南

Python的虚拟环境

Python程序的运行需要解释器和编译器,解释器就是文件夹中的python.exe,负责将python程序编译成机器代码,分为2.x版本和3.x版本,编译器是写代码的工具如pycharm和vscode。

有时特定项目需要使用特定版本的Python和库/包/模块,项目A需要Python3.6+Numpy1.4,项目B需要Python3.8+Numpy1.7,则应将Python3.6、Numpy 1.4安装到同一个文件夹,将Python3.8、Numpy 1.7安装到同一个文件夹,在做项目A的时候,用A文件夹内的Python和Numpy,在做项目B的时候,用B文件夹的Python和Numpy。虚拟环境起到了在同一个电脑上安装多个版本的Python、多个版本的Python库/包/模块并使它们互不影响的作用。

Anaconda是一个基于conda的python环境管理器,其包含了conda、python、numpy、pandas、sklearn等众多包及其依赖项(因此安装anaconda后不用再安装python解释器)。如果单独安装python,这些功能包则需要逐个自行安装,由于anaconda中包含了常用包,因此避免了这一麻烦,同时Anaconda还附带捆绑了两个非常好用的交互式代码编辑器(Spyder、Jupyter notebook)。conda是anaconda附带的包、环境管理器,能够创建、删除独立的python虚拟环境,可以用于在同一个机器上安装不同版本的包及其依赖,并能够在不同的环境之间切换。


用Conda管理环境和包

Windows中打开anaconda prompt来使用conda:

# 查看conda版本
conda --version

# 更新conda至最新版本
conda update conda

# 创建环境, 创建后的环境是文件夹的形式, 默认保存在anaconda安装文件夹中的envs文件夹中, 在图形界面anaconda navigator中也能看到
conda create -n <env_name> -y                   # 写-n和--name都行, 后面加上-y则创建过程中不用再输入y确认安装包, 可以不加
conda create -n <env_name> <package_name>       # package_name是要在环境中安装的包, 多个包之间用空格隔开, 可用加等号的方式指定包版本
conda create -n env1 python=3.11.7              # example1, 若创建环境时没有指定Python版本,则会安装与Anaconda版本相同的Python版本
conda create -n env2 python=3.5 numpy pandas    # example2

# 激活(切换到)环境: 进入anaconda prompt默认是base环境, 命令前面显示(base), 接换到其他环境后会变成(环境名)
conda activate <env_name>                       # 此处不写环境名则默认切换到base

# 退出当前环境
conda deactivate

# 显示已创建环境
conda info --envs                               # 等价于conda env list

# 复制环境
conda create --name <new_env_name> --clone <old_env_name>

# 删除环境
conda remove --name <env_name> --all

# 当前环境中已安装的包
conda list

# 查找可供安装的包版本:
conda search --full-name <package_name>         # 精确查找
conda search <text>                             # 模糊查找查找包含字段text的包

# 安装包
conda install --name <env_name> <package_name>  # 将包安装在指定环境中
conda install <package_name>                    # 将包安装在当前环境中

# 卸载包, 将<package_name>替换成--all则删除环境中所有包
conda remove --name <env_name> <package_name>   # 卸载任意环境中的包
conda remove <package_name>                     # 卸载当前环境中的包

# 更新包
conda update --all
conda update <package_name>                     # 更新指定包

注意在用conda install无法安装某个包时,可用pip安装来安装(pip install <package_name>),但是pip只能管理包,不能管理环境,若要在指定环境中使用pip进行安装包,则需要先切换到该环境中。pip无法更新python,因为pip并不将python视为包。pip可以安装一些conda无法安装的包,conda也可以安装一些pip无法安装的包,因此当使用一种命令无法安装包时,可以尝试用另一种命令。此外也可以在anaconda cloud上搜索需要安装的包,复制其代码到anaconda prompt中运行。

Anaconda的下载源默认在国外,为加快下载速度可以添加国内下载源(也可以不在配置中添加,而是下载的时候指定镜像),清华镜像:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

conda info                                # 返回信息中的channel URLs一栏中可以看到添加的部分
conda config --remove channels <channel>  # 删除某通道地址

Pytorch安装

PyTorch是一个开源的python深度学习库,可以看作加入了GPU支持的numpy,具有自动求导功能。pytorch有CPU版本和GPU版本,后者需要电脑上有NVIDIA显卡才行(在任务管理器的性能一栏的GPU条目中查看电脑的显卡)。

CUDA下载:CUDA是NVIDIA显卡的驱动和并行计算语言库API。在NVIDIA Developer的官网首页点Downloads,点进CUDA Toolkit一栏,点Download Now,然后依次点windows,x86_64,10,exe(load),download开始下载。安装位置用其默认位置即可。过程中cuda visual stidio integration界面会出现勾选项,需要勾选。完成后这样检查是否安装成功:默认安装位置为C盘Program Files下的NVIDIA GPU Computing Toolkit,点进去然后CUDA > vxx.xx > bin,若其中有nvcc程序则安装成功。在cmd中运行nvcc -V,若可以运行则没问题,若不能运行说明还需另行配置环境变量。在cmd(或anaconda prompt)中运行nvidia-smi,返回结果中的右上角为cuda版本。

PyTorch下载:在pytorch官网上选择安装参数,其中cuda版本不能高于电脑中的cuda版本。选好参数后复制下方代码,在anaconda prompt中运行。pytorch也是一个python包,可以选择下载到哪个环境中。若下载安装后显示'Downloaded bytes did not match Content-Length'则表示安装失败,原因为下载的时候速度过慢,导致timeout而终止了下载,解决办法是先在cmd中运行conda config --set remote_read_timeout_secs 10000.0,这里10000.0表示时间(秒),可以设置成其他值,够长就行,然后再运行下载安装命令。

安装完毕后,用conda list查看环境中是否装上了pytorch,再用下面的命令查看pytorch是否能正常使用GPU:

conda list
python
import torch
torch.cuda.is_available()

在PyCharm中选择项目运行环境

打开pycharm,选择File→Settings,在弹出的对话框中,选择"Project: 项目名"→"Python Interpreter",在右侧的Project Interpreter面板中,选择“Add interpreter”。在弹出的对话框中,可以看到左侧不同的选项,代表PyCharm支持的4种python解释器:Virtualenv Environment、Conda Environment、System Interpreter、Pipenv Environment。我们选择anaconda自带的解释器,于“Conda Environment”一栏选择conda.exe以及python环境,点击OK。可以在pycharm中运行sys.prefix来查看当前环境,或点击图形界面中的Terminal,每行命令开头括号里的就是当前环境名,有时候切换了新环境需要把pycharm关掉重新打开才会正确显示新的当前环境。

注意base环境中的包和库可以被其他虚拟环境使用。

用conda创建环境的时候可以不加入任何包,因此创建一个空环境env里面是没有python.exe(python解释器)这个包的,但是pycharm中通过Conda Environment加载一个环境其中必须要有解释器,此时通过上述方式加载的环境env会自动转换成base环境,无论在Terminal中还是用sys.prefix查看都能看到当前环境为base。

  • 26
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值