编译程序 六:Anaconda-python我的地盘我偷懒
从conda、miniconda和anaconda三个名词来说用得最多比较熟悉的应该是anaconda吧,包办一切,帮我们安装好了很多包和环境,我们都喜欢用现成的东西,懒得自己捣鼓。
onda是一种通用包管理系统,旨在构建和管理任何语言和任何类型的软件。举个例子:包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。
Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,就是把很多常用的不常用的库都给你装好了。
Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。就只包含最基本的东西,其他的库得自己装。
这里我们讲:北京大学北极星高性能计算平台中,如果安装Anaconda
一、下载和安装:
https://www.anaconda.com/distribution/#download-section
从这里选择对应的python版本,我们这里选择python3版本安装
也可以复制:
bash-4.2$ cp /lustre3/chenfj/soft_tar/Anaconda3-2019.10-Linux-x86_64.sh .
执行
bash-4.2$ sh Anaconda3-2019.10-Linux-x86_64.sh
出现这个回车:
Please, press ENTER to continue
>>>
认证选择yes,路径不安装在家目录要不会不够的
这里安装在:
[/home/test_pkuhpc/anaconda3] >>> /lustre2/test_pkuhpc/anaconda3
这里选no,因为考虑到多个用户,或者多个版本,比如anaconda2
二、配置source文件
bash-4.2$ mkdir /home/test_pkuhpc/source
bash-4.2$ vi /home/test_pkuhpc/source/anaconda3.sh
内容如下:记得改为自己的安装路径哦
bash-4.2$ cat /home/test_pkuhpc/source/anaconda3.sh
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/lustre2/test_pkuhpc/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/lustre2/test_pkuhpc/anaconda3/etc/profile.d/conda.sh" ]; then
. "/lustre2/test_pkuhpc/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/lustre2/test_pkuhpc/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
初始化:
bash-4.2$ source /home/test_pkuhpc/source/anaconda3.sh
(base) bash-4.2$ which conda
/lustre2/test_pkuhpc/anaconda3/bin/conda
(base) bash-4.2$ which python
/lustre2/test_pkuhpc/anaconda3/bin/python
三、安装其他包:
安装包
安装不包含在Anaconda中的Python第三方包。通常情况下,可以使用下方这个命令:
conda install package_name
如果上方命令失败,可以使用pip包管理工具来安装第三方包:
pip install package_name
更新包
可以使用conda update命令来更新包:
conda update package_name
pip同样支持使用带--upgrade标志来更新包:
pip install --upgrade package_name
四、anaconda2
(base) bash-4.2$ cp /lustre3/chenfj/soft_tar/Anaconda2-2019.10-Linux-x86_64.sh .
(base) bash-4.2$ vi /home/test_pkuhpc/source/anaconda2.sh
(base) bash-4.2$ source /home/test_pkuhpc/source/anaconda2.sh
(base) bash-4.2$ which python
/lustre2/test_pkuhpc/anaconda2/bin/python
(base) bash-4.2$ cat /home/test_pkuhpc/source/anaconda2.sh
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/lustre2/test_pkuhpc/anaconda2/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/lustre2/test_pkuhpc/anaconda2/etc/profile.d/conda.sh" ]; then
. "/lustre2/test_pkuhpc/anaconda2/etc/profile.d/conda.sh"
else
export PATH="/lustre2/test_pkuhpc/anaconda2/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
六、安装包测试 easy-xml
1、在anaconda2下安装
使用pip安装:
(base) bash-4.2$ source /home/test_pkuhpc/source/anaconda2.sh
(base) bash-4.2$ pip install easy-xml
Downloading https://files.pythonhosted.org....../easy_xml-0.5.0-py2-none-any.whl
Installing collected packages: easy-xml
Successfully installed easy-xml-0.5.0
卸载:
(base) bash-4.2$ pip uninstall easy-xml
Uninstalling easy-xml-0.5.0:
Would remove:
/lustre2/test_pkuhpc/anaconda2/lib/python2.7/site-packages/easy_xml-0.5.0.dist-info/*
/lustre2/test_pkuhpc/anaconda2/lib/python2.7/site-packages/easy_xml/*
Proceed (y/n)? y
Successfully uninstalled easy-xml-0.5.0
使用conda安装
(base) bash-4.2$ conda install easy-xml
没有安装成功
2、使用anaconda3 安装看看
使用conda安装
(base) bash-4.2$ conda install easy-xml
一样出现上图提示
使用pip安装
(base) bash-4.2$ pip install easy-xml
估计python3不支持了
我们测试下安装pyensembl:
(base) bash-4.2$ pip install pyensembl
成功了
使用conda安装也没有成功,估计是被对方封了吧!
所以,我们最好养成一个好习惯,用source或者module去使用不同软件,尽量不写入bashrc里。比如这个教程,如果是写入bashrc里使用起来不方便,有时候会混乱。