Anaconda_管理python环境
官方提示:不要一遇到问题就到处嗷嗷叫,每个命令都有完整的文档,用
--help
来查看就好。例如用conda update --help
就可以查看update
的各项参数。
管理conda
conda --version
查看当前版本
conda update conda
升级到当前最新版本
管理环境
创建环境
conda creat --name hehe python=2
比如我原来有Python3的环境,现在新创建一个新环境,叫hehe,里面安装python2。
可以用上面的方法创建多个。
注:
--name
==-n
,--
加较完整的名称,-
加单个字母。
环境名最好就是你安装的程序的名字,比较清楚明了。
环境操作
Linux, OS X: source activate hehe
Windows: activate hehe
进入hehe就可以使用Python2.7了。命令行前头会有当前环境的名字,用括号括起来的(hehe)
字样。
-
如果要更换环境,继续用上面的命令,加另外的环境名就好。退出则使用
deactivate hehe
或source deactivate hehe
,退回到默认root环境中。 -
查看电脑中都有哪些环境:
conda info --envs
或conda env list
,带*
号的是当前所在的环境。 -
复制一个环境:
conda create --name lala --clone hehe
,复制hehe。 -
删除环境:
conda remove --name lala --all
,删除lala。 -
共享环境:把你的环境导出来(包括安装的包们)给别人使用,这样他可以很快搞出一个和你一样的环境,而不用一步一步的安装了。
- 进入到要共享的环境下
activate peppermint
或source activate peppermint
,执行conda env export > environment.yml
。如果当前环境下已经有一个.yml的文件,它会被重写的。 - 把这个
environment.yml
文件拷贝给其他人。(默认出现在你安装anaconda的文件夹下) - 然后用
conda env create -f environment.yml
在其他电脑上创建新环境。
- 进入到要共享的环境下
-
保存环境变量,需要的时候再看吧。
管理Python和package
会管理环境基本上也就会管理Python了。也就是在不同环境下安装不同版本的Python,操作跟上面一样一样的。
注意,新安装的环境下如果没有安装ipython,你执行ipython
命令的话会进到原来的Python版本中。在新环境下用conda install ipython
安装一下就可以使用了。其他包也是同样的方法安装。
-
升级Python版本:
-
conda update python
,升级到当前分支的最新版本,如果3.5.2会升级到3.5.3。 -
conda isntall python=3.6
,这样会直接升级到3.6的最新版本。
-
-
查看已安装的包:
conda list
(当前环境下的),conda list -name hehe
(hehe环境下的) -
搜索某个特定的包:
conda search beautifulsoup4
-
安装包:
conda isntall --name envName beautifulsoup4
,用--name
指定安装在哪个环境下。- 也可以用
pip install packageName
,但是不能指定环境,也不能升级Python。
- 也可以用
-
升级包:
conda update conda
,conda update python
,conda update beautifulsoup4
。几乎啥都可以升级。 -
删除包:
conda remove --name envName beautifulsoup4
所有操作都在终端或命令行。
在简书上看到一篇Anaconda多环境多版本python配置指导,是翻译的官网文档。我这里是个精简补充版。
官网:https://conda.io/docs/using/index.html
pip3的安装问题 2017/6/5 更新
在比较低的python版本中,比如3.4/2.7,pip3可能是不存在的。当用pip install sth的时候它会自动安装给2.x,而我们实际上想给3.x装。这时候就得先安装pip3,然后再用pip3安装需要的库。
$ sudo apt-get install python3-pip
$ pip3 install requests
这是我在诸多试错之后,最便捷且瞬间解决问题的一个方法。当然是针对Linux的,大概只有在服务器上才会有这么低的版本存在。