学习anaconda

Python的包真是巨让人头疼

环境:MAC
问题:

  • 是在MAC环境下:命令行里的pip install 的包,Pycharm还是用不了
  • virtualenv 和anaconda 到底是怎么创建虚拟环境进行环境隔离的,是像JAVA一样需要什么JAR包都需要复制一个贴在当前项目目录下吗?
  • Pycharm里的interpreter 到底该怎么加,
  • Pycharm里的添加包就会报错:

错误描述

  • 怎么让Executed command 执行pip3 呢?

我想安装OpenCV :

pip3 install opencv-python 

安装失败在这里插入图片描述
不知道是不是因为网络的原因,或许是files.pythonhosted.org这个网站需要翻墙才能访问??
查了一个新方法:

brew install opencv3

出现了这个问题:
在这里插入图片描述
明显需要更新Xcode,并且在命令行中运行安装xcode-select --install
然后我的内存不足:?真是醉了

一、什么是Anaconda?

Anaconda(官方网站)可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。

Anaconda下载:https://www.anaconda.com/download/
官网存档: https://repo.continuum.io/archive/
国内镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

二、Anaconda、conda、pip、virtualenv到底有什么区别?

1、Anaconda :

Anaconda是包含了超多的包及其依赖项的发行版本,其中包含了conda

2、Conda:

conda是包及其依赖项和环境的管理工具,一开始是为Python专用的(Python最强大的地方之一就是它有太多的包,各种库,可以调用,但是自身的各种版本、库的版本、库和库之间的依赖管理得很好,没有冲突是很难的一件事情)但也可适用于多种语言。conda包和环境管理器包含于Anaconda的所有版本当中。

3、Pip:

pip也是用于安装和管理软件包的包管理器。我最初使用的最多的就是

pip list
pip install 

一开始使用系统的python环境,需要python2.7就用Pip 需要3.7就用pip3
后来安装tensorflow,又需要3.6?……?
这就来学习Conda了,觉得Pip 貌似不够用?

4、 virtualenv

virtualenv 是用于创建一个独立的Python环境的工具。
有的时候需要2.7,有的时候需要3.6,有的时候又用了3.7……
virtualenv 将会为它自己的安装目录创建一个环境,这并不与其他virtualenv环境共享库;同时也可以选择性地不连接已安装的全局库。有点像docker容器的概念?独立的环境就不会和全局库起冲突。

小结:

相对于pip来维护多个环境的难度 ,conda比较方便地在不同环境之间进行切换,环境管理较为简单。conda也不会影响系统自带Python,可以部分得理解为 conda结合了pip 和virtualenv 的功能.

三、管理Conda

1、是否安装成功:
conda --version

将会显示版本号,则安装成功

2、更新conda到最新版本:
conda update conda
3、查看帮助信息:
conda -help 或者 conda -h
4、卸载conda:
rm -rf ~/anaconda3

[直接移除了当前用户盘下anaconda的目录,2、3根据版本选择]

四、管理环境

1、创建新环境:
conda create --name <env_name> <package_names>

<env_name>即创建的环境名。以英文命名,且不加空格,名称两边不加尖括号“<>”。
<package_names>即安装在环境中的包名。名称两边不加尖括号“<>”。
如果要安装指定的版本号,则只需要在包名后面以=和版本号的形式执行。如:conda create --name XXX python=2.7,即创建一个名为“XXX”的环境,环境中安装版本为2.7的python。
如果要在新创建的环境中创建多个包,则直接在<package_names>后以空格隔开,添加多个包名即可。如:conda create -n python3 python=3.5 numpy pandas,即创建一个名为“python3”的环境,环境中安装版本为3.5的python,同时也安装了numpy和pandas。

注: 在默认条件下,环境会保存在/Users/<user_name>/anaconda3/env目录下

2、查看环境列表:

conda env list

conda info -e

conda info --envs

3、启用、关闭、删除环境:

启用环境:activate xxx
关闭环境:source deactivate
删除:conda env remove --name xxx

4、复制环境:
conda create --name <new_env_name> --clone <copied_env_name>

<copied_env_name>即为被复制/克隆环境名。环境名两边不加尖括号“<>”。
<new_env_name>即为复制之后新环境的名称。环境名两边不加尖括号“<>”。
如:conda create --name py2 --clone python2,即为克隆名为“python2”的环境,克隆后的新环境名为“py2”。此时,环境中将同时存在“python2”和“py2”环境,且两个环境的配置相同。

五、管理Python包:

1、安装包:

安装:conda install xxx, ------------pip install xxx
指定环境安装:

conda install --name <env_name> <package_name>

<env_name>即将包安装的指定环境名。环境名两边不加尖括号“<>”。
<package_name>即要安装的包名。包名两边不加尖括号“<>”。
例如:conda install --name python2 pandas即在名为“python2”的环境中安装pandas包。

卸载:conda uninstall xxx, --------- pip uninstall xxx
升级:conda update xxx, --------pip install --upgrade xxx

精确查找包版本:

conda search --full-name <package_full_name>

--full-name为精确查找的参数。

<package_full_name>是被查找包的全名。包名两边不加尖括号“<>”。

例如:conda search --full-name python即查找全名为“python”的包有哪些版本可供安装。

模糊查找:

  conda search <text>

<text>是查找含有此字段的包名。此字段两边不加尖括号“<>”。

例:conda search py即查找含有“py”字段的包,有哪些版本可供安装。

conda list

执行上述命令后将在终端显示当前环境已安装包的包名及其版本号

【注意】

  1. pip和conda安装包命令可以相互弥补,因为有一些包可以用pip安装,而有一些可以用conda安装,使用pip 的时候,它没有办法管理环境,只是一个包管理器,所以需要先切换到指定的环境,再使用pip,
  2. pip无法更新python,因为pip并不将python视为包
  3. 如果pip 和conda 都不能够安装,可以尝试下面第三种安装方式

进入http://anaconda.org
在搜索框中搜索包名:
在这里插入图片描述可以根据下载量来选择包、点进去
在这里插入图片描述在最下面一行的代码,在conda命令中运行。
在这里插入图片描述

2、卸载包:

卸载指定环境中的包:

conda remove --name <env_name> <package_name>

卸载当前环境中的包

conda remove <package_name>
3、更新包:
conda update --all		#更新所有包
conda update <package_name>		#更新指定的包

世界就是这么奇妙!在学习了一波Anaconda之后,在Terminal中使用conda命令一直都报错找不到module ‘six’ ,只查到了它是一个致力于解决python版本2和3兼容冲突的一个包,但是也不知道在哪里装,应该装在哪,因为anaconda本身的臃肿问题,我决定暂时
rm -rf ~/anaconda3
之后我只是升级了Xcode ,
然后我再pip3 install opencv-python,竟然成功了?‍♂️,今天就到这里了,以后需要多版本、多环境运行python 的时候再回过头复习anaconda的使用
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值