在Anaconda中conda可以理解为一个工具,也是一个可执行命令,其核心功能是环境管理与包管理。所以对虚拟环境进行创建、删除等操作需要使用conda命令。

conda install 和 pip install 区别

通常我们可以使用conda和pip两种方式来下载和卸载安装包,这里说一下这两种方式使用的区别。conda是一种通用包管理系统,可以构建和管理任何语言的任何类型的软件,因此,它也使用于Python包。pip是Python官当认可的包管理器,最常用于安装在Python包索引(PyPI)上发布的包,网址https://pypi.org/。

即:pip是Python包的通用管理器,conda是一个与语言无关的跨平台环境管理器,对于我们用户来说,最显著的区别是pip在任何环境中安装Python包,conda安装任何环境的任何包。

注意:Anaconda中base环境中已经集成安装好了conda和pip,所以可以使用两种方式来安装我们想要的python软件包,安装好了软件包在Scripts目录下可以找到。

PiP常用命令

pip --version:查看已经安装了的pip版本

pip install -U pip:升级pip

pip list 或 pip freeze:查看当前已经安装好了包及版本

pip install package_name(包名):下载安装包

pip uninstall package_name(包名): 卸载安装包

pip show package_name(包名):显示安装包信息(安装路径、依赖关系等)

conda常用命令

conda list:查看环境中已经安装了的软件包

conda env list 或者 conda info -e : 查看当前存在那些虚拟环境

conda update conda: 检查更新当前的conda版本

conda install package_name(包名):下载安装包

conda uninstall package_name(包名): 卸载安装包

创建虚拟环境

方式有两种:命令创建和界面创建

命令创建:

conda create -n your _env_name package_name python=X.X (2.7、3.6等)

创建python版本为:X.X,不指定时,默认安装最新Python版本

要安装的包 :package_name 根据需求下载,可不填

虚拟环境名字为: your _env_name

注意:your_env_name文件可以在Anaconda安装目录envs文件下找到

举例:conda create -n myenv numpy matplotlib python=3.7

界面创建: 电脑开始菜单找到Anaconda Navigator,进入界面之后,选择Environments,选择Create按钮,出现如下界面,填写你要创建的虚拟环境名和Python版本后点击Create,即创建成功。

删除虚拟环境

方式有两种:命令删除和界面删除

命令删除

conda remove -n your_enev_name --all ,即可删除

删除虚拟环境中的某个包

conda remove -- name $your_enev_name $package_name(包名)

或者进入激活虚拟环境后,使用命令 conda uninstall package_name(包名)

界面删除: 电脑开始菜单找到Anaconda Navigator,进入界面之后,选择Environments,选择你要删除的许环境名,单击remove按钮即成功删除该环境

激活已经创建的虚拟环境

Linux :source activate your_env_ name(虚拟环境名)

Windows:activate your_env_ name(虚拟环境名)

切换已经创建好了的环境

activate your_env_ name(你想要切换的虚拟环境名)

若忘记要名环境,可以使用如下命令先查看当前所有已经创建好了的虚拟环境

conda env list

然后再 activate your_env_ name(你想要切换的虚拟环境名)

退出已经创建的虚拟环境

Linux :source deactivate your_env_ name(虚拟环境名)

Windows:deactivate your_env_ name(虚拟环境名)

使用pip下载安装Python包时速度经常会十分缓慢,这主要是因为国内网络不稳定,解决办法是将pip安装源设置为国内的源即可,下载和速度会大幅度提升,而使用Conda安装时,因为网络原因也会经常出现HttpError的问题,下面就来详细介绍如何解决上述问题的方法。

pip国内常用镜像源

阿里云 http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

豆瓣(douban) http://pypi.douban.com/simple/

清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/

中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

这里推荐使用豆瓣和清华源,因为它们比较稳定

pip安装临时使用国内镜像源

可以在使用pip安装时在后面加上 -i 参数,来指定pip源,举例:

pip install numpy -i https://pypi.douban.com/simple/

注意:http后面要加s

永久指定pip默认安装源

Windows:

直接在user目录中创建一个pip目录,如:C:\Users\用户名\pip,创建完后再pip 目 录下新建文件pip.ini,添加以下内容:

[gobal]

timeout = 6000

index-url = http://pypi.douban.com/simple/

trusted-host = pypi.douban.com

编辑完后进行保存,这样当我们再使用pip来安装时,会默认调用我们设置好了的镜像 源,就不用每次再临时添加。

Linux:

修改 ~/.pip/pip.conf (没有就创建一个),和Windows上一样,在pip.conf文件中添加内容后保存

[gobal]

timeout = 6000

index-url = http://pypi.douban.com/simple/

trusted-host = pypi.douban.com

conda 出现CondaHTTPError

在conda安装好之后,默认的镜像是官方的,由于官网的镜像在境外,访问太慢或者不能访问,为了能够加快访问的速度,首先在命令行中打开虚拟环境,输入以下命令(设置清华的镜像)

然后更改镜像源配置文件,在用户home目录下,找到 .condarc 配置文件,如C:\Users\用户名\.condarc,右键选择记事本打开编辑,删掉channels下面的 -defaults一行,或者在其前面加#号注释掉。

换回默认源:

conda config --remove-key channels

更多有关python、深度和计算机编程的精彩内容,可以关注我的微信公众号:

Python之 最全 Conda、pip 管理环境和安装包、更换源、解决HttpError等一些列问题的更多相关文章

  1. Python关键点笔记之使用 pyenv 管理多个 Python 版本依赖环境

    0x00 背景 从接触Python以来,一直都是采用virtualenv和virtualenvwrapper来管理不同项目的依赖环境,通过workon.mkvirtualenv等命令进行虚拟环境切换, ...

  2. 写给.NET开发者的Python教程(一):C# vs Python: 语言特性、Conda和Jupyter Notebook环境

    承接上篇,本文会从语言特性.开发环境和必备工具来带领大家进入Python的世界. 语言特性 首先一起看下C#和Python在语言特性层面的对比,他们作为截然不同的两类面向对象高级语言,在语言层面上有何 ...

  3. 深度学习环境搭建常用网址、conda/pip命令行整理(pytorch、paddlepaddle等环境搭建)

    前言:最近研究深度学习,安装了好多环境,记录一下,方便后续查阅. 1. Anaconda软件安装 1.1 Anaconda Anaconda是一个用于科学计算的Python发行版,支持Linux.Ma ...

  4. Python 全栈开发 -- 开发环境篇

    开发环境是一个文本编辑器和 Python 解释器的组合.文本编辑器用来写代码,解释器提供了一种方法来运行编写的代码.一个文本编辑器可以像 Windows 上的 Notepad 一样简单,或是一个复杂的 ...

  5. python的pip管理工具

    Python有两个著名的包管理工具easy_install.py和pip.在Python2.7的安装包中,easy_install.py是默认安装的,而pip需要我们手动安装. 在此进行编译安装pip ...

  6. 通过pip命令导出和导入Python环境安装包

    我们在开发完代码后,一般需要将依赖包导出,然后在移植到其他系统使去安装,保证环境正常   导出Python环境安装包[root@bogon ~]# pip freeze > packages.t ...

  7. Python - 利用pip管理包

    下载与安装setuptools和pip https://pypi.python.org/packages/source/s/setuptoolshttps://pypi.python.org/pypi ...

  8. python多版本以及各种包管理

    python多版本以及各种包管理 python 包管理 各个版本 python版本管理 由于Python有2.x和3.x两个大的版本,而且每一个工程建立所用的各种包的版本也不尽相同(如flask1.x ...

  9. 基于Ubuntu+Python+Tensorflow+Jupyter notebook搭建深度学习环境

    基于Ubuntu+Python+Tensorflow+Jupyter notebook搭建深度学习环境 前言一.环境准备环境介绍软件下载VMware下安装UbuntuUbuntu下Anaconda的安 ...

随机推荐

  1. CNN 小结

    CNN 小结 目录 CNN特征提取过程(卷积核描述的是特征信息, 此特征可能就是原图像中的某些像素, 但是卷积核并不找相似的地方在原始图像的哪里, 所以需要将卷积核不断地滑动, 得到的feature ...

  2. Quartz.Net的基础使用方法,单任务执行

    1.先创建一个控制台应用程序  2.应用Quartz的NuGet包  3.编写执行任务代码 using System; using System.Threading.Tasks; using Quar ...

  3. 树莓派 4B VNC Viewer 显示 cannot currently show the desktop 的解决方法 (图文)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/ZChen1996/article/de ...

  4. vue报错vue-router.esm.js?8c4f:2007 Uncaught (in promise) NavigationDuplicated {_name: "NavigationDuplicated", name: "NavigationDuplicated"}

    今天在写vue项目配置好路由点击菜单时,突然在控制台报错. 错误信息如下: Uncaught (in promise) NavigationDuplicated {_name: "Navig ...

  5. Android 找不到所标识的资源 java.lang.NoSuchFieldError: No static field XXX of type I in class Lcom/XX/R$id

    报错: java.lang.NoSuchFieldError: No static field XXX of type I in class Lcom/XXX/R$id; or its supercl ...

  6. python - 基础局部变量和全局变量

    python中全局变量和局部变量的最大区别在于局部变量只能通过函数去访问,而全局变量可以直接访问 首先我们来看下什么是全局变量和局部变量 全局变量:在函数之外定义的变量,所有函数内可以调用这个全局变量 ...

  7. 从零开始讲解JavaScript中作用域链的概念及用途

    从零开始讲解JavaScript中作用域链的概念及用途 引言 正文 一.执行环境 二.作用域链 三.块级作用域 四.其他情况 五.总结 结束语 引言 先点赞,再看博客,顺手可以点个关注. 微信公众号搜 ...

  8. springMVC入门(八)------拦截器

    简介 springMVC拦截器针对处理器映射器进行拦截配置 如果在某个处理器映射器中配置拦截,经过该处理器映射器映射成功的Handler最终使用该拦截器 由于springMVC支持配置多个处理器映射器 ...

  9. A neural reinforcement learning model for tasks with unknown time delays

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Abstract 我们提出了一个基于生物学的神经模型,能够在复杂的任务中执行强化学习.该模型的独特之处在于,它能够在一个动作.状态转换和奖 ...

  10. instanceof判断问题

    有时候我们根据instanceof来判断对象的数据类型 但是 用instanceof判断基本数据类型时 会不靠谱 例如 let str = '123' let str1 = new String(&q ...