zoukankan      html  css  js  c++  java
  • Python

    1- 简介

    Anaconda是一个用于科学计算的Python发行版,适用于数据分析的Python工具,也可以用在大数据和人工智能领域。
    • 支持 Linux, Mac, Windows系统;
    • 包含了Python和相关的配套工具,包括许多非常有用的第三方库;
    • 利用Conda来管理包和运行环境,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题;

    Conda

    用来管理包(packages)、依赖与环境(environment)的工具(可执行命令);

    Anaconda

    Python的一种发行版,是一个打包的集合(预装好了conda、某个版本的python、众多packages、科学计算工具等),占用空间较大;

    Miniconda

    • 只包含最基本的内容(python与conda,以及相关的必须依赖项)的命令行工具,适合对于空间要求严格的用户;

    Conda与Anaconda的联系与区别

    Conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。
    Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。

    2- 安装

    注意:如无特别说明,本文内容仅适用于windows系统;
     
    官方下载: 

     

    下载后根据提示进行安装,建议安装在指定目录,不要选择默认安装路径,以便节约系统盘空间和明确相关路径(例如,虚拟环境的默认路径等)。
    将安装如下应用:
    • Anaconda Navigtor :用于管理工具包和环境的图形用户界面,管理命令也可以在 Navigator 中手工实现。
    • Anaconda Prompt :Anaconda的命令行,通过conda命令可以控制和配置Python运行环境。
    • Jupyter notebook :基于web的交互式计算环境,可以编辑易于阅读的文档和展示数据分析的过程。
    • Spyder:使用Python语言、跨平台的、科学运算集成开发环境。
    • Reset Spyder Settings:恢复Spyder的默认设置。
    安装Anaconda完成后,Path环境变量将指向Anaconda自带的Python,其内置的第三方模块安装在自己的路径下,不影响系统已安装的Python目录;

    2.1 运行应用

    Anaconda Navigtor:可能启动较慢
     
    Anaconda Prompt
     

    Jupyter notebook

    Spyder

    JupyterLab
    将在默认浏览器(建议将默认浏览器设置为Chrome)打开一个默认页面“http://localhost:8888/lab”,可以在此页面输入并执行Python代码。

    • JupyterLab is the next-generation web-based user interface for Project Jupyter.
    • 文档:https://jupyterlab.readthedocs.io/
    • JupyterLab被认为是 Jupyter Notebooks 的进一步发展,JupyterLab 的开发者的长期目标是最终替代 Jupyter Notebooks。
    • 支持更加灵活和更加强大的项目操作方式,和Jupyter Notebooks一致的组件和环境,但具有生产力更高的体验。
    • 可以在一个窗口中放置笔记本、终端、文本文件和输出结果工作区,只需拖放你需要的单元即可。
    • 可以编辑 Markdown、CSV 和 JSON 等常用文件格式,并实时预览修改所造成的影响。
    • 可以使用相关的扩展来添加新功能,或者完全改变界面的运行方式。

    Qt Console
    一个可执行IPython的仿终端图形界面程序,可直接显示代码生成的图形,实现多行代码输入执行,以及内置许多有用的功能和函数。
    Glueviz
    Python库,用于探索相关数据集内部和之间的关系,创建统计图形等。
    Orange3
    交互式数据可视化的工具,通过巧妙的数据可视化执行简单的数据分析。
    VS Code
    Visual Studio Code是一个轻量级但功能强大的源代码编辑器,内置了对JavaScript,TypeScript和Node.js的支持,并为其他语言和运行时提供了丰富的扩展生态系统。

    2.2 添加conda环境变量

    避免找不到conda 命令的错误提示,需要添加conda环境变量;
    例如:“D:DownLoadFilesanaconda3Scripts”

    2.3 帮助信息

    • 命令行下执行"conda -h"或“conda --help”可以获得帮助信息;
    • 命令行下执行"conda <argument> -h"或“conda <argument> --help”可以获得具体参数的帮助信息;

    2.4 添加Conda代理和国内镜像

    $ conda -h
    usage: conda [-h] [-V] command ...
    
    conda is a tool for managing and deploying applications, environments and packages.
    
    Options:
    
    positional arguments:
      command
        clean        Remove unused packages and caches.
        config       Modify configuration values in .condarc. This is modeled
                     after the git config command. Writes to the user .condarc
                     file (C:Usersguowli.condarc) by default.
    
    根据“conda -h”的提示信息,修改配置文件(如果没有,可以创建)
    这里为“C:Usersguowli.condarc”
     
    设置代理
    $ cat /C/Users/guowli/.condarc
    proxy_servers:
        http: http://10.144.1.10:8080
        https: http://10.144.1.10:8080
    
    添加国内镜像源(国内清华大学镜像)
    可以在命令行下执行如下命令(配置改动将更新到配置文件)
    conda config --add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'
    conda config --add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/'
    conda config --set show_channel_urls yes
    

    conda源操作的基本命令

    conda config --show                查看当前所有配置
    conda config --show-sources        查看当前使用源
    conda config --remove channels     删除指定源
    conda config --add channels        加指定源
    

    或者直接修改修改配置文件

    $ cat /C/Users/guowli/.condarc
    channels:
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
      - defaults
    show_channel_urls: True
    allow_other_channels: True
    

    2.5 设置Conda环境和缓存的路径

    默认情况下,Conda创建的新环境以及过往安装的模块缓存都存储在用户目录。
    默认信息不会在Conda(user-specific)配置文件“$HOME/.condarc”中体现,但可通过"conda info"查看,包括默认环境路径、默认缓存路径、Conda源设置等。
    添加或修改“$HOME/.condarc”中的“env_dirs”和“pkgs_dirs”配置项,可以设置conda环境和缓存(envs directories 和 package cache)的默认路径。
    按顺序第一个路径作为默认存储路径,搜索环境和缓存时按先后顺序在各目录中查找。

    例如:在“$HOME/.condarc”中添加如下路径

    envs_dirs:
      - D:DownLoadFilesanaconda3envs  # 按顺序第一个路径作为默认存储路径,搜索环境和缓存时按先后顺序在各目录中查找
      - C:UsersguowliAppDataLocalcondacondaenvs
      - C:Usersguowli.condaenvs                         
    pkgs_dirs:
      - D:DownLoadFilesanaconda3pkgs
      - C:UsersguowliAppDataLocalcondacondapkgs

    也可以使用conda命令指定存放路径:

    conda config --add envs_dirs <环境位置绝对路径>  # 添加环境位置
    conda config --add pkgs_dirs <包位置绝对路径>  # 添加包位置
    

    3- 管理Python包

    3.1 升级所有工具包

    安装完成后,可以对所有工具包进行升级,在命令行执行“conda upgrade --all”,询问是否安装升级版本时,输入y。

    3.2 常用命令

    conda install <package_name>         安装包
    conda install numpy scipy pandas     同时安装多个包
    conda install numpy=1.10             安装包的指定版本
    conda install anaconda               在当前环境安装anaconda集合包
     
    conda remove <package_name>   移除包
    conda update <package_name>   升级包
     
    conda list                    查看当前环境已安装的包信息
    conda search <package_name>   查询包信息
    conda search <search_term>    模糊查询包信息
     
    conda install --name <env_name> <package_name>   在指定环境安装的包信息
    conda remove  --name <env_name> <package_name>   移除指定环境的包
    conda update  --name <env_name> <package_name>   升级指定环境的包
    conda list --name <env_name>                     查看指定环境的已安装的包信息
     
    conda update conda      更新conda
    conda update anaconda   更新anaconda
    conda update python     更新Python

    3.3 通过pip来管理包

    注意:conda和pip都是对当前环境进行安装、升级和卸载包的操作。

    1. 设置允许pip访问conda包管理,执行命令“conda config --set use_pip True”;
    $ conda config --set use_pip True
    
    $ cat /c/Users/guowli/.condarc
    use_pip: true
    
    2. 激活其中的一个运行环境
    3. 在激活的运行环境中,执行pip命令来管理包,可以通过“--proxy”参数设置代理地址;
     

    4- 管理Python环境

    如果安装了 Python3 版本的 Anaconda 后,默认的 root 环境是 Python3;

    4.1 常用命令

    conda create --name <env_name>  <list of packages>    创建新环境 
    conda create --name testpy2 python=2.7 pandas         创建名为testpy2的运行环境,并安装pandas包及其依赖包
    conda create --name testpy36 python=3.6 anaconda      创建名为testpy36的运行环境,并安装anaconda集合包(conda默认环境)
    
    conda env remove --name <env_name>    删除环境
    conda env list                    显示所有的环境
    
    conda info                        显示当前安装的conda信息
    conda info --envs                 显示所有运行环境
    
    source activate <env_name>    激活(进入)环境
    source deactivate             去激活(退出)当前环境
    

    4.2 分享运行环境

    为了保证代码可以正确运行,分享代码的同时,也需要将运行环境分享;
    通过conda可将当前环境下的 package 信息存入YAML 文件, 当执行他人的代码时,可使用此YAML文件创建同样的运行环境;
    conda env export > BackupEnv.yaml    将当前运行环境的package信息导出到名为BackupEnv的YAML文件
    conda env create --force BackupEnv.yaml   使用YAML文件创建运行环境
    

    4.3 完整示例

    创建运行环境---》查看运行环境---》进入运行环境---》退出运行环境---》删除运行环境
    $ py --version   # 当前默认python版本
    Python 3.7.1
    
    
    $ conda create --name testpy2 python=2.7 pandas  # 创建名为testpy2的运行环境,并安装pandas包及其依赖包
    Solving environment: done
    
    ## Package Plan ##
    
      environment location: D:DownLoadFilesanaconda3envs	estpy2    # 创建的运行环境的所在目录
    
      added / updated specs:  # conda仅安装pandas和python2.7相关的必须项(pandas的依赖项,python2.7, pip等)
        - pandas
        - python=2.7
    
    
    The following packages will be downloaded:    # 将要下载当前没有的安装包
    
        package                    |            build
        ---------------------------|-----------------
        vc-9                       |       h7299396_1           3 KB
        python-dateutil-2.7.5      |           py27_0         275 KB
        pandas-0.23.4              |   py27h39f3610_0         8.8 MB
        pytz-2018.7                |           py27_0         250 KB
        certifi-2018.10.15         |           py27_0         139 KB
        setuptools-40.5.0          |           py27_0         653 KB
        numpy-base-1.15.4          |   py27h2753ae9_0         3.8 MB
        pip-18.1                   |           py27_0         1.8 MB
        vs2008_runtime-9.00.30729.1|       hfaea7d5_1        1017 KB
        wincertstore-0.2           |   py27hf04cefb_0          13 KB
        python-2.7.15              |       h2880e7c_3        20.3 MB
        six-1.11.0                 |           py27_1          21 KB
        numpy-1.15.4               |   py27hbe4291b_0          36 KB
        mkl_fft-1.0.6              |   py27hac4a418_0         120 KB
        wheel-0.32.2               |           py27_0          52 KB
        ------------------------------------------------------------
                                               Total:        37.1 MB
    
    The following NEW packages will be INSTALLED:    # 将要安装的包
    
        blas:            1.0-mkl
        certifi:         2018.10.15-py27_0
        icc_rt:          2017.0.4-h97af966_0
        intel-openmp:    2019.0-118
        mkl:             2019.0-118
        mkl_fft:         1.0.6-py27hac4a418_0
        numpy:           1.15.4-py27hbe4291b_0
        numpy-base:      1.15.4-py27h2753ae9_0
        pandas:          0.23.4-py27h39f3610_0
        pip:             18.1-py27_0
        python:          2.7.15-h2880e7c_3
        python-dateutil: 2.7.5-py27_0
        pytz:            2018.7-py27_0
        setuptools:      40.5.0-py27_0
        six:             1.11.0-py27_1
        vc:              9-h7299396_1
        vs2008_runtime:  9.00.30729.1-hfaea7d5_1
        wheel:           0.32.2-py27_0
        wincertstore:    0.2-py27hf04cefb_0
    
    Proceed ([y]/n)? y
    
    
    Downloading and Extracting Packages
    vc-9                 | 3 KB      | ######################################################################## | 100%
    python-dateutil-2.7. | 275 KB    | ######################################################################## | 100%
    pandas-0.23.4        | 8.8 MB    | ######################################################################## | 100%
    pytz-2018.7          | 250 KB    | ######################################################################## | 100%
    certifi-2018.10.15   | 139 KB    | ######################################################################## | 100%
    setuptools-40.5.0    | 653 KB    | ######################################################################## | 100%
    numpy-base-1.15.4    | 3.8 MB    | ######################################################################## | 100%
    pip-18.1             | 1.8 MB    | ######################################################################## | 100%
    vs2008_runtime-9.00. | 1017 KB   | ######################################################################## | 100%
    wincertstore-0.2     | 13 KB     | ######################################################################## | 100%
    python-2.7.15        | 20.3 MB   | ######################################################################## | 100%
    six-1.11.0           | 21 KB     | ######################################################################## | 100%
    numpy-1.15.4         | 36 KB     | ######################################################################## | 100%
    mkl_fft-1.0.6        | 120 KB    | ######################################################################## | 100%
    wheel-0.32.2         | 52 KB     | ######################################################################## | 100%
    Preparing transaction: done
    Verifying transaction: done
    Executing transaction: done
    #
    # To activate this environment, use:
    # > activate testpy2
    #
    # To deactivate an active environment, use:
    # > deactivate
    #
    # * for power-users using bash, you must source
    #
    
    
    $ conda env list    # 显示所有运行环境
    # conda environments:
    #
    base                  *  D:DownLoadFilesanaconda3    # 星号表示是当前运行环境
    testpy2                  D:DownLoadFilesanaconda3envs	estpy2
    
    
    $ source activate testpy2    # 进入testpy2运行环境
    (testpy2)
    
    
    $ conda env list
    # conda environments:
    #
    base                     D:DownLoadFilesanaconda3
    testpy2               *  D:DownLoadFilesanaconda3envs	estpy2    # 星号表示是当前运行环境
    
    (testpy2)
    
    
    $ py --version
    Python 3.7.1
    (testpy2)    # 括号中显示当前的运行环境
    
    
    $ conda info  # 显示conda信息
    
         active environment : testpy2
        active env location : D:DownLoadFilesanaconda3envs	estpy2
                shell level : 1
           user config file : C:Usersguowli.condarc
     populated config files : C:Usersguowli.condarc
              conda version : 4.5.11
        conda-build version : 3.16.2
             python version : 3.7.1.final.0
           base environment : D:DownLoadFilesanaconda3  (writable)
               channel URLs : https://repo.anaconda.com/pkgs/main/win-64
                              https://repo.anaconda.com/pkgs/main/noarch
                              https://repo.anaconda.com/pkgs/free/win-64
                              https://repo.anaconda.com/pkgs/free/noarch
                              https://repo.anaconda.com/pkgs/r/win-64
                              https://repo.anaconda.com/pkgs/r/noarch
                              https://repo.anaconda.com/pkgs/pro/win-64
                              https://repo.anaconda.com/pkgs/pro/noarch
                              https://repo.anaconda.com/pkgs/msys2/win-64
                              https://repo.anaconda.com/pkgs/msys2/noarch
              package cache : D:DownLoadFilesanaconda3pkgs
                              C:UsersguowliAppDataLocalcondacondapkgs
           envs directories : D:DownLoadFilesanaconda3envs
                              C:UsersguowliAppDataLocalcondacondaenvs
                              C:Usersguowli.condaenvs
                   platform : win-64
                 user-agent : conda/4.5.11 requests/2.20.0 CPython/3.7.1 Windows/7 Windows/6.1.7601
              administrator : False
                 netrc file : None
               offline mode : False
    
    (testpy2)
    
    
    $ source deactivate    # 退出当前运行环境
    
    
    $ conda env list
    # conda environments:
    #
    base                  *  D:DownLoadFilesanaconda3    # 星号表示是当前运行环境
    testpy2                  D:DownLoadFilesanaconda3envs	estpy2
    
    
    $ conda env remove --name testpy2    # 删除运行环境
    
    Remove all packages in environment D:DownLoadFilesanaconda3envs	estpy2:
    
    
    ## Package Plan ##
    
      environment location: D:DownLoadFilesanaconda3envs	estpy2
    
    
    The following packages will be REMOVED:
    
        blas:            1.0-mkl
        certifi:         2018.10.15-py27_0
        icc_rt:          2017.0.4-h97af966_0
        intel-openmp:    2019.0-118
        mkl:             2019.0-118
        mkl_fft:         1.0.6-py27hac4a418_0
        numpy:           1.15.4-py27hbe4291b_0
        numpy-base:      1.15.4-py27h2753ae9_0
        pandas:          0.23.4-py27h39f3610_0
        pip:             18.1-py27_0
        python:          2.7.15-h2880e7c_3
        python-dateutil: 2.7.5-py27_0
        pytz:            2018.7-py27_0
        setuptools:      40.5.0-py27_0
        six:             1.11.0-py27_1
        vc:              9-h7299396_1
        vs2008_runtime:  9.00.30729.1-hfaea7d5_1
        wheel:           0.32.2-py27_0
        wincertstore:    0.2-py27hf04cefb_0
    
    Proceed ([y]/n)? y
    
    
    $ conda env list
    # conda environments:
    #
    base                  *  D:DownLoadFilesanaconda3
    
    
    $
    

    5- 在PyCharm中使用Anaconda创建的环境

    5.1 查看Conda环境信息

    在Anaconda Prompt中通过“ conda env list”查看所有环境信息,确认环境所在目录;
    注意:通过Conda创建的虚拟环境默认放置envs目录中,例如:“D:DownLoadFilesanaconda3envsmlcc”
     

    5.2 更改PyCharm的编译器选项 

    打开Pycharm,然后依次点击File---》Settings---》Project:xxxxx---》Project Interperter---》“齿轮”按钮---》“Add Local...”

    在出现页面中,添加Conda环境信息并保存

    此时,依次点击File---》Settings---》Project:xxxxx---》Project Interperter---》“齿轮”按钮---》“Show All...”

    依次点击File---》Settings---》Project:xxxxx---》Project Interperter,选择相应的环境。

    6- 参考信息

    7- 问题处理

    7.1 问题1:告警信息“WARNING: The conda.compat module is deprecated and will be removed in a future release.”

    问题现象:
    安装Anaconda3后,在Anaconda Prompt执行conda命令, 例如“conda env list”,提示告警信息“WARNING: The conda.compat module is deprecated and will be removed in a future release.”

    问题原因:
    问题处理方法:
    升级conda版本。
    (base) C:Usersguowli>conda update conda
    WARNING: The conda.compat module is deprecated and will be removed in a future release.
    Collecting package metadata: done
    Solving environment: done
    
    ## Package Plan ##
    
      environment location: C:Office-ToolsAnaconda3
    
      added / updated specs:
        - conda
    
    
    The following packages will be downloaded:
    
        package                    |            build
        ---------------------------|-----------------
        conda-4.6.14               |           py37_0         2.1 MB  defaults
        ------------------------------------------------------------
                                               Total:         2.1 MB
    
    The following packages will be UPDATED:
    
      conda                                       4.6.11-py37_0 --> 4.6.14-py37_0
    
    
    Proceed ([y]/n)? y
    
    
    Downloading and Extracting Packages
    conda-4.6.14         | 2.1 MB    | ############################################################################ | 100%
    Preparing transaction: done
    Verifying transaction: done
    Executing transaction: done
    
    (base) C:Usersguowli>ET _sysp=%~dpA
    'ET' is not recognized as an internal or external command,
    operable program or batch file.
    
    (base) C:Usersguowli>IF NOT EXIST "!_sysp!Scriptsconda.exe"
    Collecting package metadata: done
    Solving environment: done
    
    # All requested packages already installed.
    
    
    (base) C:Usersguowli>conda --version
    conda 4.6.14
    
    (base) C:Usersguowli>conda env list
    # conda environments:
    #
    base                  *  C:Office-ToolsAnaconda3
    
    
    (base) C:Usersguowli>
  • 相关阅读:
    Vue源码解读-构造函数
    在vue中使用async/await遇到的坑
    vue单页(spa)前端git工程拆分实践
    携带参数隐藏必要参数,瞬间改变浏览器地址
    解析Nuxt.js Vue服务端渲染摸索
    WebSocket的使用(基于VUE与SpringBoot)
    设计模式之桥接(bridge)模式
    设计模式之观察者模式
    设计模式之代理模式、适配器模式和外观模式
    设计模式之工厂模式
  • 原文地址:https://www.cnblogs.com/anliven/p/9998662.html
Copyright © 2011-2022 走看看