1、环境隔离的问题

在使用python时,常常遇到的问题:

pip安装库A,依赖库B-2.1版本

pip安装库C,以来库B-3.1版本,安装会提示库B的版本冲突错误。

这种情况下就需要做环境隔离

conda自带环境隔离功能,可以有限隔离管理多个python环境

2、安装conda

https://www.anaconda.com/distribution/下载anaconda, 我这里下载的是Anaconda3-2019.07-Linux-x86_64.sh

转到下载目录下, 执行命令安装anaconda:

bash Anaconda3-2019.07-Linux-x86_64.sh

根据提示安装,特别是最后的conda init询问,直接点yes

3、备份conda原始环境

conda安装完成后,重新打开shell,或者执行一次source ~/.bashrc后, 会默认进入base环境,base环境包括了anaconda默认安装的大量库。

由于后续可能会基于base环境安装各种附加库,所以,一般先进行base环境的备份,方式就是创建一个新的backup环境,直接从base环境中克隆

创建backup环境的命令如下:

conda create -n backup --clone base

上述指令表示从base环境中clone一份新环境,新环境名字为backup

4、创建项目环境

备份之后,就可以基于backup环境,克隆各种项目环境了

比如,我需要创建一个用于富途量化开发的环境:

conda create -n futu --clone backup

在该环境下,我需要安装futu-api:

pip insall futu-api

那么futu-api库只有在该环境中才有,在base、backup中都不存在。

如果觉得base环境过于臃肿,可以创建一个新的简洁环境, conda可以管理多个python,即使python的版本不一样,这个是比venv强大的地方。

创建一个python3.7的简洁环境:

conda create -n py32 python=3.7

创建一个python2.7的简洁环境:

conda create -n py27 python=2.7

注意:创建环境时,如果只是指定了名字,没有指定package,那么实际上指向的都是同一个环境

如:

conda create -n test1
conda create -n test2

上述的test1和test2环境中,隔离的只是conda install的内容,而pip安装的内容完全共享,会相互干扰,这是因为使用了同一套python环境的缘故, 所以一般不要这么做。

5、环境切换

通过conda activate <envname>进行环境切换

通过conda deactivate退出环境

如,进入futu环境:

conda activate  futu

进入环境后,命令行中会提示相应的环境标志:

conda进行python环境隔离的更多相关文章

  1. conda配置python混合开发环境一站式入门【全平台】

    下载安装 清华的镜像 [https://mirror.tuna.tsinghua.edu.cn/help/anaconda/] 官方说明 [http://conda.pydata.org/docs/u ...

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

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

  3. 用conda管理Python包

    用conda管理Python包 conda是一个很好的包管理工具,在用了Anaconda之后一直不知道怎么用conda进行管理,其实很简单,就是没人教,慢慢自己摸索了一点.直接在Anaconda的命令 ...

  4. conda设置Python虚拟环境

    conda设置Python虚拟环境     版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Co_zy/article/details/7741261 ...

  5. 写文章 使用conda管理python环境

    使用conda管理python环境

  6. Conda和Python的国内安装源

    Conda和Python的国内安装源 Windows系统: 更换python国内源的方法. 在"C:\Users[xxxx]\pip\pip.ini"文件中配置如下内容(没有则新建 ...

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

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

  8. 使用conda管理python环境和包

    操作系统:CentOS7使用virtualenv管理python虚拟环境virtualenv是一款轻量级第三方虚拟环境管理工具,不像Anaconda大小达上百M,virtualenv大小只有10M左右 ...

  9. Conda 配置 Python 环境

    目录 前言 一.Conda 是什么 二.如何获取 三.使用 Conda 命令配置多环境 1.创建新环境 2.激活新环境 3.配置新环境 4.退出新环境 5.检查所有环境 6.检查所有安装的包 7.删除 ...

随机推荐

  1. HDU5036(bitset加速传递闭包+期望)

    HDU5036 题解 题目链接 思路: 求出破坏or打开所有门所需要的期望炮弹数量,那么根据期望的线性性质,我们可以求出每一个门的期望值最后累加起来就行了. 我们最后的目标就是求对于一个门\(i\), ...

  2. Locust性能测试6-命令行参数详解

    前言 当我们在linux上使用locust工具压测的时候,会使用no-web模式,然后需要收集运行的日志,方便查找问题. 命令行参数 输入locust --help 查看所有的命令行参数 > l ...

  3. 【BZOJ 4004】 装备购买(高斯消元+贪心)

    装备购买 题目 脸哥最近在玩一款神奇的游戏,这个游戏里有 n 件装备,每件装备有 m 个属性,用向量zi(aj ,.....,am) 表示 (1 <= i <= n; 1 <= j ...

  4. Eclipse 常用快捷键——IDEA 常用快捷键

    Eclipse 常用快捷键 熟练 单选注释 ctrl + / 多行注释 ctrl + shift + / 向下复制一行 (Duplicate Lines) ctrl+alt+down 删除一行或选中行 ...

  5. Spring动态切换多数据源事务开启后,动态数据源切换失效解决方案

    关于某操作中开启事务后,动态切换数据源机制失效的问题,暂时想到一个取巧的方法,在Spring声明式事务配置中,可对不改变数据库数据的方法采用不支持事务的配置,如下: 对单纯查询数据的操作设置为不支持事 ...

  6. [译] 揭秘 iOS 布局

    翻译自:Demystifying iOS Layout 在你刚开始开发 iOS 应用时,最难避免或者是调试的就是和布局相关的问题.通常这种问题发生的原因就是对于 view 何时真正更新的错误理解.想理 ...

  7. ajax请求数据时,get和post的区别

    发送机制 1.get请求会将参数跟在URL后面进行参数传递,而post请求则是作为http消息的实体内容发送给web服务器: 2.get提交的数据限制是1024字节,这种显示是来自特定浏览器和服务器对 ...

  8. linux 下安装git的步骤方法

    ①.获取github最新的Git安装包下载链接,进入Linux服务器,执行下载,命令为: wget https://github.com/git/git/archive/v2.17.0.tar.gz  ...

  9. linux mustache bash 实现mo 做为docker容器运行动态配置工具数组的处理

    前面有说过关于使用mo 工具的简单配置使用,但是实际中我们可能存在比较复杂的数据处理,比如数组,mo 可以进行数组的处理,但是在测试的过程中,一直失败,查看了官方的demo以及帮助命令发现可以通过参数 ...

  10. .net core 从 ActionFilterAttribute 获取Request.Body 的正确方式

    由于 ModelBinding在动作过滤器之前运行,直接使用 context.ActionArguments["parameter"]  获取模型对象 This article s ...