zoukankan      html  css  js  c++  java
  • conda进行python环境隔离

    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

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

  • 相关阅读:
    Elasticsearch Network Settings
    Spring Application Event Example
    hibernate persist update 方法没有正常工作(不保存数据,不更新数据)
    快速自检电脑是否被黑客入侵过(Linux版)
    快速自检电脑是否被黑客入侵过(Windows版)
    WEB中的敏感文件泄漏
    Nginx日志分析
    关系型数据库设计小结
    软件开发的一些"心法"
    关于DNS,你应该知道这些
  • 原文地址:https://www.cnblogs.com/moodlxs/p/11509692.html
Copyright © 2011-2022 走看看