Linux 双Python 环境 踩坑记录
来源:互联网 发布:车牌照识别 c语言 编辑:程序博客网 时间:2024/06/13 08:36
我们采用的linux server通常会自带一个python环境,此时如果因为版本老自己升级,或者要安装anaconda,就会让自己的server出现双python环境的情况。
本次跳坑是后者,因为要运行的code需要各种ML库等等,所以就干脆装了一个anaconda,结果就一步步踏进深渊。。。
0 环境检查
- 90%:
$ which python$ which pip$ python -V$ pip -V
分别在普通用户和root用户下,运行这四条command,查看python版本及路径,如果两个用户下四条命令对应的都是你新安装的python,那你90%可能性不会被双python困扰。如果此处不如我们所愿,请先参考 1 配置环境变量,解决90% 完成配置。
- 剩下9%:
$ /usr/bin/python -V
如果上面检查已经通过,你还是碰到问题,检查一下这个目录中的python,如果并非你手动安装的新版,那么请继续往下看 2 针对9%
猜想:为什么所有环境变量都指向新的python,还有可能调用到老python,进而引发一系列问题?猜想是linux下有些python安装脚本(.py)是采用首行指定运行环境来运行的
#!/usr/bin/python# 有些.py文件首行会指定运行python目录,然后shell运行
- 还有1%:我也不清楚是什么情况,你再搜搜其他解决方案
1 配置环境变量,解决90%
类似windows配置的环境变量,linux同样有自己的环境变量,而且,每个用户各有不同,所以,安装完python后,首先要做的就是确认环境,如果上面4条检查命令不能全部对应到新python,那么请手动将新版本python添加到环境变量中:
普通用户:
- 进入 用户目录 cd ~
- 修改 .bashrc,在文件最后添加一行(根据新python实际目录来修改)
export PATH="/usr/lib/anaconda2/bin:$PATH"
$ source ~/.bashrc
使设置生效
root 用户:
- sudo su进入root 用户
- 重复普通用户步骤
检查环境:
- 再检查一遍环境确认设置生效,顺利的话此时应该通过“90”检查了
2 针对9%
如果上面配置全都设置好,还是在安装依赖时有各种问题,此时,我们手动将/usr/bin/python
指向的python改一下
- 备份原先文件
/usr/bin/python
- 在此处手动创建一个指向新python的软连接
sudo ln -s /usr/lib/anaconda2/bin/python /usr/local/bin/python
- 去试验问题是否解决
- 再把此处修改改回来
强烈建议此处的软连接在解决问题后再改回来,毕竟这是系统默认python,如果不该回来可能有一些莫名其妙的问题
3 剩下1%
抱歉我也无能为力。。。God bless you
end
- Linux 双Python 环境 踩坑记录
- 记录一次在内网Linux环境安装Python的经历
- Linux环境初始化记录
- linux 环境问题记录
- linux 安装环境 记录
- Python 踩坑记录
- python踩坑记录
- python Scrapy环境安装记录
- Linux-Python学习记录
- Linux环境命令学习记录
- linux 环境操作faq 记录
- linux下python环境
- Linux搭建python环境
- linux安装python环境
- Linux 安装python环境
- Linux安装Python环境
- Linux平台下python链接数据库所需环境搭建记录(使用pip)
- VMware+CentOS+python环境搭建记录
- java中的包装类和异常
- question: student_link
- JavaWeb ServletContext/application初试总结
- 你所不知道的“三个数从大到小的顺序输出”之—对if (else)条件语句的运用。
- Matlab Robotic Toolbox V9.10工具箱(三):轨迹规划
- Linux 双Python 环境 踩坑记录
- CXF Restful 服务端编程
- 树莓派学习笔记-按键控制LED灯-WiringPi
- react native 开发工具vscode
- Linux常用命令详解(六)_网络
- Flink HA 高可用 Standalone Cluster High Availability
- QT的信号与槽机制
- 工程管理器make的使用(复习)
- MySQL 连接