update命令的用途是什么Anaconda⼊门使⽤总结
序
Python易⽤,但⽤好却不易,其中⽐较头疼的就是包管理和Python不同版本的问题,特别是当你使⽤Windows的时候。为了解决这些问题,有不少发⾏版的Python,⽐如WinPython、Anaconda等,这些发⾏版将python和许多常⽤的package打包,⽅便pythoners直接使⽤,此外,还有virtualenv、pyenv等⼯具管理虚拟环境。
个⼈尝试了很多类似的发⾏版,最终选择了Anaconda,因为其强⼤⽽⽅便的包管理与环境管理的功能。该⽂主要介绍下Anaconda,对Anaconda的理解,并简要总结下相关的操作。Anaconda概述
是⼀个⽤于科学计算的Python发⾏版,⽀持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很⽅便地解决多版本python并存、切换以及各种第三⽅包安装问题。Anaconda利⽤⼯具/命令conda来进⾏package和environment的管理,并且已经包含了Python和相关的配套⼯具。
这⾥先解释下conda、anaconda这些概念的差别。conda可以理解为⼀个⼯具,也是⼀个可执⾏命令,其核⼼功能是包管理与环境管理。包管理与pip的使⽤类似,环境管理则允许⽤户⽅便地安装不同版本的python并可以快速切换。Anaconda则是⼀个打包的集合,⾥⾯预装好了conda、某个版本的python、众
多packages、科学计算⼯具等等,所以也称为Python的⼀种发⾏版。其实还有Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的⽤户,Miniconda是⼀种选择。
进⼊下⽂之前,说明⼀下conda的设计理念——conda将⼏乎所有的⼯具、第三⽅包都当做package对待,甚⾄包括python和conda⾃⾝!因此,conda打破了包管理与环境管理的约束,能⾮常⽅便地安装各种版本python、各种package并⽅便地切换。
Anaconda的安装
Anaconda的下载页参见,Linux、Mac、Windows均⽀持。
安装时,会发现有两个不同版本的Anaconda,分别对应Python 2.7和Python 3.5,两个版本其实除了这点区别外其他都⼀样。后⾯我们会看到,安装哪个版本并不本质,因为通过环境管理,我们可以很⽅便地切换运⾏时的Python版本。(由于我常⽤的Python是2.7和3.4,因此倾向于直接安装Python 2.7对应的Anaconda)
下载后直接按照说明安装即可。这⾥想提醒⼀点:尽量按照Anaconda默认的⾏为安装——不使⽤root权限,仅为个⼈安装,安装⽬录设置在个⼈主⽬录下(Windows就⽆所谓了)。这样的好处是,同⼀台机器上的不同⽤户完全可以安装、配置⾃⼰的Anaconda,不会互相影响。
对于Mac、Linux系统,Anaconda安装好后,实际上就是在主⽬录下多了个⽂件夹(~/anaconda)⽽已,Windows会写⼊注册表。安装时,安装程序会把bin⽬录加⼊PATH(Linux/Mac写⼊~/.bashrc,Windows添加到系统变量PATH),这些操作也完全可以⾃⼰完成。以Linux/Mac为例,安装完成后设置PATH的操作是
java培训机构线上# 将anaconda的bin⽬录加⼊PATH,根据版本不同,也可能是~/anaconda3/bin
echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc
# 更新bashrc以⽴即⽣效
source ~/.bashrc
配置好PATH后,可以通过which conda或conda --version命令检查是否正确。假如安装的是Python 2.7对应的版本,运⾏python --version或python -V可以得到Python 2.7.12 :: Anaconda 4.1.1 (64-bit),也说明该发⾏版默认的环境是Python 2.7。
Conda的环境管理
Conda的环境管理功能允许我们同时安装若⼲不同版本的Python,并能⾃由切换。对于上述安装过程,
假设我们采⽤的是Python 2.7对应的安装包,那么Python 2.7就是默认的环境(默认名字是root,注意这个root不是超级管理员的意思)。
假设我们需要安装Python 3.4,此时,我们需要做的操作如下:
# 创建⼀个名为python34的环境,指定Python版本是3.4(不⽤管是3.4.x,conda会为我们⾃动寻3.4.x中的最新版本)
conda create --name python34 python=3.4
# 此时,再次输⼊
python --version
# 可以得到`Python 3.4.5 :: Anaconda 4.1.1 (64-bit)`,即系统已经切换到了3.4的环境
# 如果想返回默认的python 2.7环境,运⾏
deactivate python34 # for Windows
source deactivate python34 # for Linux & Mac
# 删除⼀个已有的环境
conda remove --name python34 --all
# 安装好后,使⽤activate激活某个环境
activate python34 # for Windows
source activate python34 # for Linux & Mac
# 激活后,会发现terminal输⼊的地⽅多了python34的字样,实际上,此时系统做的事情就是把默认2.7环境从PATH中去除,再把3.4对应的命令加⼊PATH
⽤户安装的不同python环境都会被放在⽬录~/anaconda/envs下,可以在命令中运⾏conda info -e查看已安装的环境,当前被激活的环境会显⽰有⼀个星号或者括号。
说明:有些⽤户可能经常使⽤python 3.4环境,因此直接把~/anaconda/envs/python34下⾯的bin或者Scripts加⼊PATH,去除anaconda对应的那个bin⽬录。这个办法,怎么说呢,也是可以的,但总觉得不是那么elegant……
如果直接按上⾯说的这么改PATH,你会发现conda命令⼜不到了(当然不到啦,因为conda在~/anaconda/bin⾥呢),这时候怎么办呢?⽅法有⼆:1. 显式地给出conda的绝对地址 2.在python34环境中也安装conda⼯具(推荐)。
Conda的包管理
Conda的包管理就⽐较好理解了,这部分功能与pip类似。
例如,如果需要安装scipy:
# 安装scipy
conda install scipy
# conda会从从远程搜索scipy的相关信息和依赖项⽬,对于python 3.4,conda会同时安装numpy和mkl(运算加速的库)
# 查看已经安装的packages
conda list
# 最新版的conda是从site-packages⽂件夹中搜索已经安装的包,不依赖于pip,因此可以显⽰出通过各种⽅式安装的包
conda的⼀些常⽤操作如下:
# 查看当前环境下已安装的包
conda list
# 查看某个指定环境的已安装包
c语言中static的用法conda list -n python34
# 查package信息
conda search numpypython入门教程非常详细下载
# 安装package
conda install -n python34 numpy
# 如果不⽤-n指定环境名称,则被安装在当前活跃环境
# 也可以通过-c指定通过某个channel安装
# 更新package
conda update -n python34 numpy
# 删除package
conda remove -n python34 numpy
前⾯已经提到,conda将conda、python等都视为package,因此,完全可以使⽤conda来管理conda和python的版本,例如
# 更新conda,保持conda最新
conda update conda
# 更新anaconda
conda update anaconda
# 更新python
conda update python
# 假设当前环境是python 3.4, conda会将python升级为3.4.x系列的当前最新版本
补充:如果创建新的python环境,⽐如3.4,运⾏conda create -n python34 python=3.4之后,conda仅安装python 3.4相关的必须项,如python, pip等,如果希望该环境像默认环境那样,安装anaconda集合包,只需要:
# 在当前环境下安装anaconda包集合
conda install anaconda
# 结合创建环境的命令,以上操作可以合并为
conda create -n python34 python=3.4 anaconda
# 也可以不⽤全部安装,根据需求安装⾃⼰需要的package即可
设置国内镜像
如果需要安装很多packages,你会发现conda下载的速度经常很慢,因为的服务器在国
外。所幸的是,清华TUNA镜像源有Anaconda仓库的镜像,我们将其加⼊conda的配置即可:
# 设置搜索时显⽰通道地址
conda config --set show_channel_urls yes
执⾏完上述命令后,会⽣成~/.condarc(Linux/Mac)或C:\Users\USER_NAME\.condarc⽂件,记录着我们对conda的配置,直接⼿动创建、编辑该⽂件是相同的效果。
跋
Anaconda具有跨平台、包管理、环境管理的特点,因此很适合快速在新的机器上部署Python环境。总结⽽⾔,整套安装、配置流程如下:
下载Anaconda、安装
配置PATH(bashrc或环境变量),更改TUNA镜像源
创建所需的不⽤版本的python环境
Just Try!
cheat-sheet 下载:
参考资料
Anaconda Homepage
Anaconda Documentation
Conda Docs
⽤anaconda保证64位和32位的python共存
背景
喵哥想在MFC中调⽤python脚本,在原来的代码中包含⼀个只⽀持x86的库⽂件(超级核⼼的⽂件),原本安装的python是x64的,强⾏运⾏程序会出现python头⽂件⾥的函数⽆法解析的错误。考虑到anaconda可以⽅便的管理python版本,所以采⽤anaconda来安装32位的python。
Anaconda的⼀些命令微软在线编辑器
1.查看当前⼯作平台:conda info
可见此时是64位平台。
2.切换64位和32位:set CONDA_FORCE_32BIT=1是切换到32位;set CONDA_FORCE_32BIT= 是切换到64位。
需要注意的是,这样切换环境对于已经安装的python没有任何影响,即原先是64位的python,现在还是64位,所以需要切换到32位后再安装python,并且安装需要在prompt下进⾏,在navigator⾥新建的python默认是64位的。
3.安装python:conda create -n env_name python=3.74,如果需要安装⼀些包,只需要在name后加上对应的包名称。conda create -n env_name numpy matplotlib python=3.74。
例如我们想安装python3.74 的32位版本
conda create -n python32 python=3.74
4.切换环境:conda activate env_name,conda deactivate env_name。
5.移除环境:conda remove -n env_name --all
6.安装包:activate env_name,conda install pandas。安装anaconda发⾏版的所有包:conda install anaconda,但是这样会在所有环境都执⾏这样的操作,所以需要指定安装环境:conda install -n env_name pandas
今天需要调⽤⼀个dll动态函数库,但是本地的python是64位的,dll是32位的,直接调⽤会报错。
OSError: [WinError 193] %1 不是有效的 Win32 应⽤程序。
python版本:3.6
anaconda对于python版本的管理还是很⽅便的,所以这⾥⽤anaconda才实现32位和64位python共存
幻灯片背景1、打开anaconda prompt,输⼊ conda info ,可以看到现在⽤的是64位的。
2、切换成32位的 set CONDA_FORCE_32BIT=1 可以看出已经切换成32位的了
3、安装32位的python3.6 conda create -n python32 python=3.6
安装完成后在anaconda3⽂件夹下⾯会有⼀个envs⽂件夹
4、激活环境 conda activate python32 ,如果要取消 conda deactivate python32,如果要删除环境 conda remove -n python32--all
5、如果要在pycharm中使⽤该环境
点击add local
点击ok就⾏了
以上的操作都是在Anaconda Prompt⾥,其实⽤Anaconda图形界⾯(Navigator)安装python会更加直观,但是需要注意的是,⽆论你是否在Prompt⾥设置了32位的环境,⽤Navigator安装的python都是
64位的,⼤家可以试⼀下,有异议欢迎留⾔交流。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论