热门标签 | 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



推荐阅读
  • 多种实现 Windows 定时自动执行任务的专业技巧与方案
    在Windows系统中,实现定时自动执行任务有多种专业技巧和方案。常见的方法包括:使用Windows任务计划程序、开发Windows服务以及利用SQL Server Agent作业。这些方法被广泛应用于各种自动化场景,多数技术人员对此都有所了解。 ... [详细]
  • 在生产环境中进行高效部署与优化 ... [详细]
  • 本指南详细介绍了如何使用 `apt-get` 命令在 Ubuntu 系统上部署 MySQL 5、Apache 2、PHP 5 及 phpMyAdmin。首先,建议读者查阅 Ubuntu 的官方文档以获取更多背景信息。通过本文,您将逐步了解每个软件包的安装过程及其配置方法,确保系统环境的稳定性和安全性。此外,还将提供一些常见问题的解决方案,帮助用户顺利完成部署。 ... [详细]
  • 本文将详细介绍如何在SSM框架中无缝集成ShardingSphere 4.10,以实现高效的数据分片和读写分离。通过实例演示和代码解析,帮助开发者快速掌握这一复杂但实用的技术。文章从基础概念入手,逐步深入到具体配置和应用实践,旨在为读者提供一个全面、易懂的整合指南。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了nohup及crontab定时任务相关的知识,希望对你有一定的参考价值。一、关于nohup: ... [详细]
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
  • phpMyAdmin 忽略了套接字定义,导致连接配置失效 ... [详细]
  • 根据不同环境需求,利用 Vue CLI 的 `npm run build` 命令对项目进行定制化打包,如测试、预发布和生产环境。通过配置 `process.env` 变量,实现不同环境下接口和服务的动态切换,确保应用在各阶段都能高效运行和调试。 ... [详细]
  • 欢迎来到Netgen新时代:探索网络生成技术的无限可能
    欢迎进入Netgen的新时代:探索网络生成技术的无限潜力。本文将详细介绍如何编译下载的Netgen源代码,生成Netgen程序,并提供开发所需的库nglib。此外,还将探讨Netgen在现代网络设计与仿真中的应用前景,以及其在提高网络性能和可靠性方面的关键作用。 ... [详细]
  • 在Python 3环境中,当无法连接互联网时,可以通过下载离线模块包来实现模块的安装。具体步骤包括:首先从PyPI网站下载所需的模块包,然后将其传输到目标环境,并使用`pip install`命令进行本地安装。此方法不仅适用于单个模块,还支持依赖项的批量安装,确保开发环境的完整性和一致性。 ... [详细]
  • 本文探讨了将PEBuilder转换为DIBooter.sh的方法,重点介绍了如何将DI工具集成到启动层,实现离线镜像引导安装。通过使用DD命令替代传统的grub-install工具,实现了GRUB的离线安装。此外,还详细解析了bootice工具的工作原理及其在该过程中的应用,确保系统在无网络环境下也能顺利引导和安装。 ... [详细]
  • 利用命令行配置 ASP.NET Core 发布后的监听地址与环境变量设置
    通过命令行配置 ASP.NET Core 应用程序的发布设置,可以灵活地调整监听地址和环境变量。本文介绍如何在新建的 ASP.NET Core 项目中,通过修改 `Program.cs` 文件中的代码来实现这一功能。具体步骤包括在 `Program` 类的 `Main` 方法中添加相应的配置代码,以确保应用程序在不同环境中能够正确运行。此外,还将详细介绍如何使用命令行工具来设置和验证这些配置项,从而提高开发和部署的效率。 ... [详细]
  • 如何在Linux系统上部署MySQL 5.7.28
    本文详细介绍了在Linux系统上部署MySQL 5.7.28的具体步骤。通过官方下载页面获取最新安装包后,按照提供的指南进行配置和安装。文章内容实用性强,适合初学者和有经验的管理员参考。 ... [详细]
  • Zookeeper分布式过程协同技术部署及设置
    Zookeeper分布式过程协同技术-部署及设置Zookeeper支持单机模式、伪集群模式、集群模式三种部署方式。演示部署环境为CentOS、jdk版本为1.8、Zookeeper ... [详细]
  • 转载:https:blog.csdn.nethigh2011articledetails70155431清华大学镜像网:https:mirrors.tu ... [详细]
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社区 版权所有