linux下关于环境变量的设置,及python中path路径的优先匹配顺序

关于PATH的作用:

PATH说简单点就是一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径。比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls这个命令根本不在这个两个目录下,事实上当你输入命令的时候LINUX会去/bin,/usr/bin,/sbin等目录下面去找你此时输入的命令,而PATH的值恰恰就是/bin:/sbin:/usr/bin:……。其中的冒号使目录与目录之间隔开。

关于新增自定义路径:
现在假设你新安装了一个命令在/usr/locar/new/bin下面,而你又想像ls一样在任何地方都使用这个命令,你就需要修改环境变量PATH了,准确的说就是给PATH增加一个值/usr/locar/new/bin。你只需要一行bash命令export PATH=$PATH:/usr/locar/new/bin。这条命令的意思太清楚不过了,使PATH自增:/usr/locar/new/bin,既PATH=PATH+":/usr/locar/new/bin";通常的做法是把这行bash命令写到/root/.bashrc的末尾,然后当你重新登陆LINUX的时候(应该是linux启动时就会执行这个文件),新的默认路径就添加进去了。当然这里你直接用source /root/.bashrc执行这个文件重新登陆了。你可以用echo $PATH命令查看PATH的值。

关于删除自定义路径:
当某天你发现你新增的路径/usr/locar/new/bin已经没用了的话,你可以修改/root/.bashrc文件里面你新增的路径。或者你可以修改/etc/profile文件删除你不需要的路径
------------------------------------------------------------------------07----------------

电脑中必不可少的就是操作系统。而Linux的发展非常迅速,有赶超微软的趋势。这里介绍Linux的知识,让你学好应用Linux系统。比如要把/etc/apache/bin目录添加到PATH中,方法有三:
1.#PATH=$PATH:/etc/apache/bin
使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效

2.#vi /etc/profile
在适当位置添加 PATH=$PATH:/etc/apache/bin (注意:= 即等号两边不能有任何空格)
这种方法最好,除非你手动强制修改PATH的值,否则将不会被改变

3.#vi ~/.bash_profile
修改PATH行,把/etc/apache/bin添加进去
这种方法是针对用户起作用的

注意:想改变PATH,必须重新登陆才能生效,以下方法可以简化工作:
如果修改了/etc/profile,那么编辑结束后执行source profile(source /etc/profile) 或 执行点命令 ./profile,PATH的值就会立即生效了。
这个方法的原理就是再执行一次/etc/profile shell脚本,注意如果用sh /etc/profile是不行的,因为sh是在子shell进程中执行的,即使PATH改变了也不会反应到当前环境中,但是source是在当前 shell进程中执行的,所以我们能看到PATH的改变。
这样你就学会Linux系统下修改环境变量PATH路径的方法。

 

补充说明

工作环境设置文件
环境设置文件有两种:系统环境设置文件 和 个人环境设置文件

1.系统中的用户工作环境设置文件:
 登录环境设置文件:/etc/profile     
 非登录环境设置文件:/etc/bashrc

2.用户个人设置的环境设置文件:
 登录环境设置文件: $HOME/.bash_profile   //这个是环境变量设置的地方
 非登录环境设置文件:$HOME/.bashrc       //这个是定义别名的地方

登录环境:指用户登录系统后的工作环境
非登录环境:指用户再调用子shell时所使用的用户环境

---------------------
 

### 理解问题背景 在Linux环境中,确保`pip`工具能够正确关联至预期的Python解释器对于软件开发至关重要。当存在多个版本的Python共存于同一操作系统上时,可能会遇到`pip`与特定版本的Python路径匹配的问题。 ### 解决方案概述 为了使`pip`指向正确的Python版本,可以采取如下措施: #### 使用虚拟环境管理依赖关系 创建针对具体项目的独立工作空间是一个有效的方法,这可以通过`venv`模块或者更高级别的工具如`conda`实现[^1]。一旦激活了某个虚拟环境,则该环境下所有的包管理和脚本执行都将基于指定的Python解释器版本进行。 ```bash # 创建一个新的虚拟环境 (假设目标 Python 版本为 3.x) python3 -m venv my_project_env # 激活此虚拟环境 source my_project_env/bin/activate ``` #### 明确调用对应版本的 pip 工具 如果不想使用虚拟环境的话,也可以直接通过完整的命令行参数来指明希望使用的Python版本及其配套的`pip`工具。例如,在拥有不同版本的情况下,应当显式地使用`pythonX.Y -m pip ...`的形式来进行操作,其中`X.Y`代表所需的次要版本号。 ```bash # 安装 package_name 到 Python 3.8 的库中 python3.8 -m pip install package_name ``` #### 配置全局默认行为(谨慎) 修改系统范围内的配置使得每次调用`pip`都自动链接到期望的Python版本通常是不可取的做法,除非完全理解其潜在影响并且确认不会干扰其他应用程序的功能。然而,如果你确实需要这样做,可以在用户的shell初始化文件(`~/.bashrc`, `~/.zshrc`)里设置别名或调整PATH顺序优先查找新安装的二进制文件位置。 ```bash # 添加到 ~/.bashrc 或相应 shell 初始化文件的最后一行 alias pip='python3 -m pip' export PATH="/usr/local/opt/python@3.9/bin:$PATH" ``` 请注意上述更改仅适用于当前登录用户,并且可能会影响所有后续终端会话中的`pip`命令解析逻辑。 ### 实际案例分析 考虑到某些特殊场景下可能出现的具体情况,比如Kali Linux上的Python版本切换及`pip2`安装问题,建议按照官方文档指导完成必要的准备工作后再尝试解决问题[^2]。此外,关于环境变量配置不当引发的错误提示,也应参照相关指南合理设定PYTHONHOME和PATH等重要环境变量[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值