IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Mac上的Python虚环境配置 -> 正文阅读

[开发工具]Mac上的Python虚环境配置

1、什么是anaconda、conda和pip

  • 前言
    在我们使用Python进行数据分析以及编程的时候,我们需要使用很多的包,并且在不同的项目,我们可能要用到不同版本的包,这就出现了以下的问题:

    第一,如果我们每个包都去下载,且不说耗时耗力,难道真的能够记住所有要用的包?

    第二,我们一个项目可能要用很多的包,并且时常需要更新或者降级,我们难道要自己去一个个的更新吗?

    第三,不同的项目需要不同的环境,难道我们每更换一个项目就重新配一次环境吗?

  • anaconda解决以上问题

    包的集合:anaconda自身包含了Python、conda等很多科学包及其依赖项,我们常用的包它基本都包含,解决了手动装包的问题。

    包管理器:anaconda是从conda基础上发展而来,conda是一个包管理器,通过anaconda使用conda工具可以让我们轻松地安装、更新、卸载这些依赖包。

    虚环境管理器:anaconda提供虚环境,可以为每个项目量身定制需要的环境,在开发不同项目时,只需轻松切换。

    综上所述,anaconda是Python的发行版,意思就是:anaconda是包含了第三方依赖的Python发行版,并且使用了conda作为包管理器,并且可以支持虚拟环境的搭建。

  • 两个包管理器:pip和conda

比较项pipconda
作用范围Python多种语言包管理工具,如C,C++
初始状态使用pip前必须先安装Python解释器可以直接安装Python包和Python解释器
虚环境支持必须依赖virtualenv或venv等其他工具,没有内置的环境支持可以支持安装不同版本的Python包或其他软件包的隔离安装环境
安全性pip在串行安装包的时候,安装后面的包不会考虑前面包的依赖性,不能同时保证所有包的依赖性,若存在不兼容,可能会破坏环境在安装包的时候能够保证所有的包都能够兼容
广度pip能够安装PyPI上提供的150,000多个软件包conda可以安装一百来个包,有的包是安装不了的

如果我们专注于只是安装Python包,conda和pip服务不同的受众和不同的目的。 如果你想在现有的系统Python安装中管理Python包,conda不能帮助你:通过设计,它只能在conda环境中安装包。 如果你想说,使用依赖于外部依赖的许多Python包(NumPy,SciPy和Matplotlib是常见的例子),同时以一种有意义的方式跟踪这些依赖,pip不能帮助你:它管理Python包且只有Python包。(引自:http://blog.sina.com.cn/s/blog_8a122dcf0102x9vn.html)

Conda和pip不是竞争对手,而是侧重于不同用户组和使用模式的工具。

我们通常会看到同时使用conda和pip,是因为有些包只能通过pip安装,但是conda是更加安全的,通常我们推荐尽量用conda,装不了的包再用pip。

2、anaconda创建虚拟环境

  • conda常用命令

      conda list             —— —— 查看安装了哪些包
      conda env list         —— —— 查看当前有哪些虚拟环境
      conda update conda     —— —— 更新当前conda
      python --version       —— —— 查看当前环境的Python版本
    
  • 虚拟环境操作

    • 第一步,创建虚拟环境
      创建名为your_env_name,python版本为X.X的虚拟环境:

        conda create -n your_env_name python=X.X
      

      your_env_name文件可以在Anaconda安装目录envs文件下找到。以上命令,等号两边不要加空格,会报错。

    • 第二步,环境切换
      当我们不开启虚拟环境的时候,我们都是默认使用PATH环境中的默认python版本。所以对虚拟环境的开启和关闭也就等同于开发环境的切换。

      激活名为your_env_name的虚拟环境:

        source activate your_env_name
      

      关闭当前的虚拟环境:

        source deactivate
      

      在使用这条命的时候遇到了一个报错:
      source: no such file or directory: deactivate。
      解决方法是使用命令:

        conda deactivate
      

      但是这里要注意,conda的版本必须在4.6以上,如果版本太低,需要更新conda。然后我又尝试了这条命令:

        conda activate your_env_name
      

      成功做到了将环境切换到your_env_name,所以现在我们有两种方法进行环境切换了。

      要说明的是,在我出现以上报错的时候,激活命令 source activate your_env_name 仍然是可以正常使用的,只是关闭命令无法正常使用。

    • 第三步,安装与删除其他的包
      首先,切换到创建的虚拟环境,剩下的命令其实就是conda的正常命令:
      安装package的version number版本到当前虚拟环境中:

       conda install package=version number
      

      以上命令,等号两边不要加空格,会报错。

      删除环境当前虚拟环境中的package_name包:

       conda remove package_name	
      
    • 删除虚拟环境
      删除名为your_env_name的环境:

        conda remove -n your_env_name --all
      

      注意,在执行这条命令的时候,必须在其他的环境中,也就是说如果要删除环境your_env_name,我们必须先关闭这个环境,我们不能删除一个正在使用的环境。如在删除your_env_name这个环境的时候,先切入到base环境,然后执行命令,可以顺利删除。

以上每条指令都亲自运行过,可放心使用。

3、pip创建虚拟环境

这篇文章讲的挺好,不过我没动手试过。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-10-30 12:42:51  更:2021-10-30 12:44:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:55:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码