
首先说明本篇文章的工作原由,以及踩过的坑。
在之前的工作中,一般进行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版本
1、vim编辑 ~/.bashrc,加入conda\bin的路径到环境变量 2、用vim编辑,修改以下文件的首行,改成现在的路径。需要修改conda文件夹下 ./bin/conda ./bin/activate ./bin/deactivate ./bin/pip ./condabin/conda ./etc/profile.d/conda.sh 然后conda activate xxx重启环境。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)