我参加NVIDIA Sky Hackathon 环境安装(编程环境)

强烈建议使用conda

第一个坑:

  • 不使用 conda 进行 Python 环境管理
  • 直接使用本地的 Python 环境容易导致混乱

conda 安装

  1. 指定下载源
    export DL_SITE=https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda

  2. 使用 wget 进行下载
    wget -c $DL_SITE/Miniconda3-py38_4.10.3-Linux-x86_64.sh

  3. 执行安装脚本
    bash Miniconda3-py38_4.10.3-Linux-x86_64.sh

  4. 重启命令行环境, 使安装成功
    source ~/.bashrc

上面使用的是3.8的基准Python环境, 可以根据实际需求来改
访问下载源网站找到对应的文件, 在第二步把文件名改了就行

虚拟环境

第二个坑:

  • 没有使用 Python 3.8 的版本
  • nemo 1.4 与 Python 3.8 严格绑定, github 的官网都推荐使用这个版本

conda 中如何创建虚拟环境?

>conda create -n env_name python = 3.x
  1. env_name 填写的是环境名称
  2. 后面 python= 的后面填写的是 python 版本

第三个坑:

python 版本那里的等号不能像下面这样空出来
在这里插入图片描述

下面这种写法才是正确的
在这里插入图片描述
然后就会出现一系列的东西

我参加NVIDIA Sky Hackathon 环境安装(编程环境)_第1张图片
按 y 安装即可

第四个坑

  • 不按照文档里面的要求使用 virtualenv
  • 请正确使用文档内的安装步骤, 否则 tao 工具很有可能出现一系列的环境异常

conda 和 virtualenv 区别

这张图已经很清楚的说明了他们的层次关系, conda 的层级是高于 virtualenv 的
我参加NVIDIA Sky Hackathon 环境安装(编程环境)_第2张图片

conda 的环境隔离原理

  1. 营造类似系统环境变量的东西
  2. 处于某个虚拟环境的时候, 使用的环境变量优先使用 conda 预设置的值
  3. 所以 conda 可以游刃有余的将不同版本的各个环境隔离

virtualenv 存在的意义

既然 conda 已经这么牛逼了, 为什么还需要 virtualenv ?

conda 虽然可以做到大环境的隔离, 但是有一点是需要 virtualenv 来补充完善的
那就是——软件包环境隔离, pip 下载的时候, pip 会根据当前环境来推荐软件包版本, 同时也可以指定软件包版本, 如果说有这么一种需求:

  • 我就是要某个特定的软件包版本, 但是我的其他环境都不支持这个包, 可某个软件就是只能在这个环境中运行, 那我该怎么办呢?
  • virtualenv 就能做到这一点
  • 所以 virtualenv 是依赖于大环境的在某些小的软件包版本做小修小补的工具
  • 正是有 virtualenv ,才不至于需要使用 pip 一直来回切换软件版本, 卸了又下, 下了又卸, 兜兜转转, 无穷无尽

你可能感兴趣的:(python,conda,pycharm)