Anaconda具有跨平台(win/mac/linux)、包管理(类似于pip)、环境管理(类似于virtualenv)的特点,因此很适合快速在新的机器上部署Python环境。
Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。
Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。
Anaconda 是一种Python语言的免费增值 开源发行版,用于进行大规模数据处理, 预测分析, 和科学计算, 致力于简化包的管理和部署。 Anaconda使用软件包管理系统Conda进行包管理。
LINUX系统的含义:
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX *** 作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的 *** 作系统。
它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络 *** 作系统。
Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。
本篇介绍如何让linux在不激活任何环境时,调用python命令直接使用到conda的某个子环境。
首先说明本篇文章的工作原由,以及踩过的坑。
在之前的工作中,一般进行python开发都会使用conda进行包管理,以达到隔离多个环境的目的。例如:
问题来了,在一些场景中,外部程序需要调用服务器上的api,又无法做出 conda activate 的命令,命令是直接使用 python xxx.py ,这时候只能使用linux自带的python命令,或者conda的base环境的python命令。所以需要将环境搭建在linux的python或者conda的base。搭建过程中,遇到的问题来自两个方面:
解决方法:将linux默认的python做软链接,链接到conda的子环境。
创建环境: conda create -n child_env python=3.6
切换环境: conda activate child_env
安装pytorch: conda install pytorch torchvision cudatoolkit=10.0
安装tensorflow: conda install tensorflow-gpu
安装其他包: conda install xxx,xxx,...
先将老的链接备份: mv /usr/bin/python /usr/bin/python22
再做链接: ln -s /root/anaconda3/envs/child_env/bin/python3 /usr/bin/python
第一个路径需要改成自己的anaconda路径,child_env改成自己的环境名,第二个路径不用改。
先关掉conda环境: conda deactivate
再运行: python xxx.py
用这个方法,虽然解决了直接调用python命令的问题。但是引入了新的问题。
更换默认python版本
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)