python推荐[]超级工具anaconda

阅读对象

  1. 没有使用过anaconda的读者
  2. 没有使用过anaconda创建项目环境的读者
  3. 没有使用过anaconda镜像的读者
  4. 对channel的配置不熟悉的读者

简介

anaconda是最好用python解释器,里面默认包含了大量的科学计算包,以及最厉害的包管理工具conda。
在我最喜欢的软件列表,希望通过本文安利更多的伙伴。

anaconda 的安装

直接到官网上根据自己的系统下载相应的程序就可以了。
推荐下载使用anaconda3,anconda3中内置的python3版本。
推荐使用python3,python3 比python2 更快,bug更少。

默认base环境

看前面是否有base,如果没有通过下述命令激活base环境

1
conda init bash

anaconda创建项目环境

不同的项目依赖同一个模块的不同版本,如果不对环境进行隔离,
开发过程中就发生模块冲突的问题。

开始一个新项目,第一步就是建立相应的项目环境,并根据需要安装相应的模块。

1
conda create --name py37MolDocking python=3.7

项目环境的名称是 py37MolDocking,里面的python 版本是 py37MolDocking
默认是安装3.7.x中的最新版本。

1
conda create --name py37Fep python=3.5

默认是安装3.5.x中的最新版本。

建议: 虚拟环境命名和创建原则,一个项目一个虚拟环境,以python版本号+项目进行命名,方便记忆。

查看当前系统上所有的项目环境

1
conda info -e

激活项目环境

1
conda activate ProjectEnvName

或者

1
source activate ProjectEnvName

或者

1
activate  ProjectEnvName

检查环境是否正常激活

1
which python

退出项目环境

1
conda deactivate

conda 安装模块

不同的模块可能在不同的channel中。
建议通过google 搜索 “conda 模块的名字” 查看相应的安装命令。

使用国内的镜像安装

conda 修改项目环境的名字

如果你觉得项目环境名字起得不是很好,想进行修改。
可通过下面的方法进行间接修改

1
2
conda create --name new_name --clone old_name
conda remove --name old_name --all

目前不支持直接修改项目环境的名字,只能先复制项目环境然后删除旧的环境。

删除环境

1
conda remove --name py35customNM --all

查看某个指定项目环境下的安装包

1
conda list -n py35project

安装模块到指定的项目环境中

方法一:

1
conda install -n py35 numpy

方法二: 激活相应的项目环境,然后安装需要的模块(推荐)

1
2
conda activate py35
conda install xxx -c xxxchanel

使用国内镜像

推荐清华或者北师大镜像
建议使用的时候指定镜像,不建议直接配置。

1
2
3
4
5
conda install rdkit -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/rdkit/

conda install -c anaconda pymongo=3.7.2 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

conda install -c anaconda keras=2.2.4 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge

更多关于中国镜像的文章

分享自己的项目环境

首先切换到base环境中,

1
conda-env export -n py27proj -f=py27proj.yml

会产生项目的配置文件py27proj.yml,分享该文件给对方后。
对方通过该文件就可以建立和你相同的环境。

1
conda-env create -n py27proj -f=py27proj.yml

查看conda的环境

conda config –show

配置conda的代理网络

建议直接在bashrc中配置,condarc中的优先级高于bashrc的优先级。

在condarc 中添加正确的地址,注意没有https

1
2
3
4
5
6
7
8
channels:
- defaults
show_channel_urls: true

use_pip: true
proxy_servers:
http: http://1x.1x.1x.8x:nnn
https: http://1x.1x.1x.8x:nnnn

未完待续

参考

  1. https://zhuanlan.zhihu.com/p/44398592
  2. https://stackoverflow.com/questions/45864595/how-to-transfer-anaconda-env-installed-on-one-machine-to-another-both-with-ubu