热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在Linux系统中配置环境变量以切换不同版本Python的方法与实践

在Linux系统中,原本已安装了多个版本的Python2,并且还安装了Anaconda,其中包含了Python3。本文详细介绍了如何通过配置环境变量,使系统默认使用指定版本的Python,以便在不同版本之间轻松切换。此外,文章还提供了具体的实践步骤和注意事项,帮助用户高效地管理和使用不同版本的Python环境。

这个Linux系统下本来装了python2,而且是好几个。还装了anaconda,自带python3。我的目的是想让python环境变量默认使用python3。

查看当前python版本:

[liusiyi@localhost ~]$ python --version

Python 2.7.5

用which 看一下当前使用的python的路径:

[liusiyi@localhost ~]$ which python

/usr/bin/python

用whereis 确认所有python路径(但这个不全,因为没有anaconda):

[liusiyi@localhost ~]$ whereis python

python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz

改用echo $PATH再次确认(这里也没包含anaconda):

[liusiyi@localhost ~]$ echo $PATH

/appcom/kylin/bin:/appcom/hadoop/bin:/appcom/hadoop/sbin:/usr/lib/jdk/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/shijuan355/bin:/appcom/hadoop/bin:/appcom/hadoop/sbin:/home/shijuan355/bin:/appcom/ganglia/sbin:/appcom/ganglia/bin:/appcom/sqoop/bin:/appcom/hive/bin:/appcom/hbase/bin:/appcom/zookeeper/bin:/appcom/R/bin:/appcom/apache/bin:/appcom/oozie/bin:/appcom/btrace/bin:/appcom/storm/bin:/appcom/rocketmq//bin:/appcom/hbase/bin:/appcom/hbase/sbin:/appcom/R2/bin:/appcom/R3/bin:/appcom/spark/bin:/appcom/spark/sbin:/appcom/kafka/bin:/appcom/flume/bin:/appcom/odpp/bin:

用export PATH=添加python3路径:

[liusiyi@localhost ~]$ export PATH=/appcom/AnacondaInstall/anaconda3/bin:$PATH

这时候用python --version 看还是Python 2.7.5。因为bash命令export PATH=/appcom/AnacondaInstall/anaconda3/bin:$PATH,使PATH自增,既PATH=PATH+"/appcom/AnacondaInstall/anaconda3/bin:";通常是把这行bash命令写到末尾。

下面采用在~/.bashrc 里添加一行“export PATH=/appcom/AnacondaInstall/anaconda3/bin:$PATH”的方式,这个只对当前用户生效,是比较稳妥的做法。

修改前的 ~/.bashrc:

[liusiyi@localhost ~]$ cat ~/.bashrc

# .bashrc

# Source global definitions

if [ -f /etc/bashrc ]; then

. /etc/bashrc

fi

# Uncomment the following line if you don't like systemctl's auto-paging feature:

# export SYSTEMD_PAGER=

# User specific aliases and functions

修改后的 ~/.bashrc,最后多了一行:

[liusiyi@localhost ~]$ cat ~/.bashrc

# .bashrc

# Source global definitions

if [ -f /etc/bashrc ]; then

. /etc/bashrc

fi

# Uncomment the following line if you don't like systemctl's auto-paging feature:

# export SYSTEMD_PAGER=

# User specific aliases and functions

export PATH=/appcom/AnacondaInstall/anaconda3/bin:$PATH

这时候有两个方法让这个环境变量生效。1、关闭当前终端窗口,重新打开一个新终端窗口就能生效;2、输入“source ~/.bashrc”命令,立即生效。

现在再来查看,python3已经成为默认的环境变量:

[liusiyi@localhost ~]$ which python

/appcom/AnacondaInstall/anaconda3/bin/python

[liusiyi@localhost ~]$ python --version

Python 3.6.3 :: Anaconda, Inc.

还有很多其他方法能实现不同版本的python切换环境变量默认值。很多文章都讲过。

python中path路径的优先匹配顺序:https://blog.csdn.net/wangzhaotongalex/article/details/50127431

切换Python2和Python3的4种方法:https://blog.csdn.net/jasonfqw/article/details/72974187



推荐阅读
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • Hadoop发行版本选择指南:技术解析与应用实践
    本文详细介绍了Hadoop的不同发行版本及其特点,帮助读者根据实际需求选择最合适的Hadoop版本。内容涵盖Apache Hadoop、Cloudera CDH等主流版本的特性及应用场景。 ... [详细]
  • 离线安装Grafana Cloudera Manager插件并监控CDH集群
    本文详细介绍如何离线安装Cloudera Manager (CM) 插件,并通过Grafana监控CDH集群的健康状况和资源使用情况。该插件利用CM提供的API接口进行数据获取和展示。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文详细介绍了如何通过RPM包在Linux系统(如CentOS)上安装MySQL 5.6。涵盖了检查现有安装、下载和安装RPM包、配置MySQL以及设置远程访问和开机自启动等步骤。 ... [详细]
  • Kubernetes 持久化存储与数据卷详解
    本文深入探讨 Kubernetes 中持久化存储的使用场景、PV/PVC/StorageClass 的基本操作及其实现原理,旨在帮助读者理解如何高效管理容器化应用的数据持久化需求。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文详细介绍了如何准备和安装 Eclipse 开发环境及其相关插件,包括 JDK、Tomcat、Struts 等组件的安装步骤及配置方法。 ... [详细]
  • 本文详细介绍了Java中的三大类设计模式:创建型模式、结构型模式和行为型模式,并探讨了设计模式遵循的六大原则,帮助开发者更好地理解和应用这些模式。 ... [详细]
author-avatar
后果搞活棵_654_962
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有