可能自己常常会遇到一个这样的问题,自己服务器安装的是python2,但是现在有的代码是基于python3的啊

怎么办?自己将代码转换成python2的呗,是的,我曾经就这样做过,但是真的是很鸡肋

更有一种情况,有的代码基于的pytorch的版本比较老怎么办?卸载了重装呗,很多依赖依旧是卸载重装,是的我曾经就这样搞过

但是有这么多代码要跑,一直用这样一种操作方式也不是办法呀,比如我今天跑的代码依赖比较老的版本,明天跑的代码依赖比较新的版本。所以要一直这样切换?

之前我们有三台服务器,不同的服务器有不同的配置,比如有的服务器是python2的,有的服务器是python3的,这样操作还是比较容易一些,但是数据也要triple啊!强迫症根本就受不了

于是,我发现可以用conda来创建虚拟环境,并且重新生成一个你想要的python环境,和新的一样

在创建conda环境之前,我之前安装镜像的时候都是用proxychains + 命令,可以走代理,但是,我最近发现使用清华的源貌似是比用proxychains要来的更快,添加清华源的命令是(参考链接

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 config --set show_channel_urls yes  

添加了清华的源之后,下载包飞快,p大的小伙伴表示很服气

创建虚拟环境的命令是

conda create -n spherecnn python=3.6

上述命令创建一个名称为spherecnn的python版本为3.6的虚拟环境

用以下命令可以列出已经创建出来的虚拟环境

conda env list

conda中存在的虚拟环境如下图所示

然后

source activate spherecnn

即可激活自己创建的虚拟环境

这个时候终端的前面会显示你自己创建的虚拟环境

运行

source deactivate spherecnn

退出虚拟环境

进入到虚拟环境之后,试着输入python,发现确实是3.6

这个时候你用conda命令安装的所有包,都是安装在虚拟环境里面,非常爽,需要什么版本的就安装什么版本的

而退出虚拟环境之后,输入python,看一下python的环境是多少

可以看出来,是python2的环境

虚拟环境python这个执行器的路径在哪里呢?

~/anaconda2/envs路径包含了所有的你创建的虚拟环境,spherecnn的python执行器在~/anaconda2/envs/spherecnn/bin/pyhon路径下,pycharm在remote进行调用远程的编译器的时候需要知道这个路径。

不仅仅是pycharm了,jupyter notebook也可以设置虚拟环境,但是首先需要安装

conda install nb_conda

然后安装ipykernel并且在ipykernel中添加我们创建的虚拟环境

conda install ipykernel
python3 -m ipykernel install --user --name=spherecnn

然后启动jupyter的时候就可以在kernel中选择自己所需要的kernel版本了

虚拟环境的出现,大大提高了生产效率,感谢conda

conda创建虚拟环境的更多相关文章

  1. Anaconda的使用和包的更新;conda 创建虚拟环境

    安装: 官网下好后,直接 sh * 会提示安装路径,选择No的话重新填入安装的路径就可以了: 添加到环境变量: echo 'export PATH="~/anaconda2/bin/$PAT ...

  2. 使用conda创建虚拟环境

    conda创建python虚拟环境 前言 conda常用的命令: conda list 查看安装了哪些包. conda env list 或 conda info -e 查看当前存在哪些虚拟环境 co ...

  3. Anacodna之conda与 virtualenv对比使用教程,创建虚拟环境

    conda创建虚拟环境 1.查看包 conda list查看安装了哪些包 conda env list查看有哪些虚拟环境 conda -V查看conda的版本 2.创建虚拟环境,命名为myflaska ...

  4. Anaconda+用conda创建python虚拟环境

    Anaconda+用conda创建python虚拟环境 Anaconda与conda区别 conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理.包管理与pip的使用类似,环境 ...

  5. conda创建py27虚拟环境安装theano(anaconda3)

    现在python3已经成为主流的python环境,大部分的package都兼容python3,仍然有一小部分,或者说是某一领域的package需要使用python2.本人现在主要在利用python做机 ...

  6. Anaconda用conda创建python虚拟环境

    Anaconda用conda创建python虚拟环境 一.简介 conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理.包管理与pip的使用类似,环境管理则允许用户方便地安装不 ...

  7. conda创建和使用python的虚拟环境

    https://uoa-eresearch.github.io/eresearch-cookbook/recipe/2014/11/20/conda/ 当我们使用服务器的时候,会存在多个用户,并且可能 ...

  8. Conda 创建和删除虚拟环境

    1.检验当前conda的版本 conda -V C:\Users>conda -V conda 4.10.1 2.conda 常用的命令 查看已有的虚拟环境 C:\Users>conda ...

  9. conda创建/移除虚拟环境

    conda创建python虚拟环境 前言 conda常用的命令: conda list 查看安装了哪些包. conda env list 或 conda info -e 查看当前存在哪些虚拟环境 co ...

随机推荐

  1. Qt调用JS

    转自: 一. 简介 Qt提供了本地C++对象与JavaScript的无缝集成,可以进行本地与web混合应用开发.利用Qt的Webkit集成与QtNetwork模块,可以自由的混合JavaScript. ...

  2. 使用Swagger2构建强大的RESTful API文档(2)(二十三)

    添加文档内容 在完成了上述配置后,其实已经可以生产文档内容,但是这样的文档主要针对请求本身,而描述主要来源于函数等命名产生,对用户并不友好,我们通常需要自己增加一些说明来丰富文档内容.如下所示,我们通 ...

  3. Mysql按日期分组(group by)查询统计的时候,没有数据补0的解决办法

    转载自:http://blog.csdn.net/jie11447416/article/details/50887888 1.案例中的数据结构和数据如下 2.在没有解决的时候,是这样的   SELE ...

  4. error: http://ppa.launchpad.net lucid Release: The following signatures couldn't be verified because

    ubuntu 命令行sudo apt-get update W: GPG error: http://ppa.launchpad.net lucid Release: The following si ...

  5. WPF客户端实现.net升级

    客户端.net版本由3.5升级到4.5,首先把.net4.5的离线安装包添加到资源,程序运行的时候,从资源中生成离线安装包,并通过传递参数的方式执行静默安装命令,具体代码如下: private sta ...

  6. spark使用正则表达式读入多个文件

    String dir = "s3a://example/";String currentDir = dir + "{1[5-9],2[01]}/*.txt";J ...

  7. 洛谷 P4515 [COCI2009-2010#6] XOR

    题意 平面直角坐标系中有一些等腰直角三角形,且直角边平行于坐标轴,直角顶点在右下方,求奇数次被覆盖的面积.N<=10.输入为x,y,r,分别表示三角形顶点的坐标与三角形的边长. 如: 总面积为0 ...

  8. zookeeper:springboot+dubbo配置zk集群并测试

    1.springboot配置zk集群 1.1:非主从配置方法 dubbo: registry: protocol: zookeeper address: ,, check: false 1.2:主从配 ...

  9. day15 装饰器

    关于函数的装饰器 1 .装饰器,(难点,重点) 开闭原则: 对功能的扩展开放 对代码的修改是封闭 通用装饰器语法: def wrapper(fn): def inner(*args,**kwargs) ...

  10. c# 关于async/await异步编程的浅析和使用

    线程的同步运行,时效性慢,异步运行,时效性快! 在c#5.0引出了async/await关键字,可以用其来进行异步编程. async/await定义异步方法的语法如下: 1.在方法的返回类型前面加上a ...