环境变量(PATH)的那些事
烈日中的七月,我坐在电脑前,Python倒是安完了,可是我还得顾到一边pip安装。get-pip.py
运行完毕后,那个烦人的warning再度出现:
WARNING: The scripts pip, pip3 and pip3.8 are installed in '/Users/alex080318/Library/Python/3.8/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
没错,环境变量又出来惹事了。再瞅瞅网上五花八门的文章,讲解的环境变量添加方法都针对某个软件包(比如git或maven),几乎没有一篇文章讲清楚环境变量(PATH)到底是个啥,以及如何通用地添加环境变量。于是,它来了——
PATH是个啥?
我不想花费太多笔墨,或者搬上专业名词讲解什么是PATH,其实PATH真的很好解释。
在我们这个pip例子中,Python 3.8被安装到了/Users/TLH0rse/Library/Python/3.8/bin
,pip就在这个目录下。但问题是,这个pip所在的Python是我自己用python.org上的pkg安装的,并不是系统自带Python,于是你在终端里按下pip时,终端不会理你,因为它在系统目录里搜索不到pip
这个程序,我们只能把整个路径都敲出来。
zsh: command not found: pip # 敲了个寂寞
git、maven或pip这样的程序文件所隐藏的路径很深,每次都敲一遍根本不可能。为了解放我们的双手,系统研发出来了一种机制:PATH。
PATH 机制
终端其实就是shell语言的一个交互式编译器,你可以在里面定义变量,使用shell的for循环,亦或用if判断条件。当你输入命令并回车后,shell会先检查一个特定名称的shell变量,叫做PATH,看看这个变量里面有没有你的命令的路径。如果没有才会去系统目录下检索程序。
添加环境变量的原理是:你在用户根目录下创建一个名为.xxxrc
的文件,其中xxx为你的shell的名称,比如我的是zsh,文件名就是.zshrc
,如果是bash,那就是.bashrc
。在你打开一个shell(比如zsh)时,相对应的rc文件(.zshrc
)就会运行,然后再打开shell。如果你在这个文件中对PATH进行了赋值,那么你的shell在运行期间就可以使用PATH中自定义的环境变量。
注意一点:.bashrc
、.zshrc
和.bash_profile
、.zprofile
这样的profile文件不一样。
设置PATH
在用户根目录(是用户根目录,不是/
)新建一个.xxxrc
文件,然后输入:
export PY_HOME=/Users/tlhorse/Library/Python/3.8/bin
export GIT_HOME=/path/to/git/bin
export MAVEN_HOME=/path/to/maven/home
export PATH=$PATH:$PY_HOME:$GIT_HOME:$MAVEN_HOME
两句export分别给两个变量赋值。设置PATH时,先定义一些xxx_HOME
,然后在放到最后一行PATH,每个变量用:
隔开,最前面别忘加一个$PATH
,否则shell可能会检索不到系统命令,弄得你一脸懵逼。
重启shell,或者source ./.xxxrc
,输入pip,成功!
END
环境变量(PATH)的那些事相关推荐
- 在Java程序设计中,设置环境变量path和classpath的作用分别是什么?
在Java程序设计中,设置环境变量path和classpath的作用分别是什么? asd79308 10级 分类: 编程开发 被浏览344次 2013.07.22 额,你这问题问的有够" ...
- 系统的环境变量path的作用是什么
系统的环境变量path的作用是什么,本来不知道什么叫做环境变量的.但是自从学了Java之后就对path有点了解.然后设置了环境变量path,当然 也就知道按照网上的大侠给的方法照搬上去而已,根本不了解 ...
- 环境变量PATH与cp 、mv命令
环境变量PATH cp命令 mv命令 cat命令 move命令 less命令 head命令 tail命令 转载于:https://blog.51cto.com/13515599/2051792
- 环境变量path误删解决办法
2019独角兽企业重金招聘Python工程师标准>>> 每台计算机安装程序不同,环境变量path会有不同,若误删了环境变量path,可以如下完美解决. Win+R 输入reged ...
- 环境变量PATH 、mv 命令 、cp 命令和 查看文档相关的命令
2019独角兽企业重金招聘Python工程师标准>>> 环境变量PATH which 命令 which+命令名 //查找某个命令的绝对路径 如:查找rm命令的绝对路径 which的查 ...
- Windows 中的环境变量 Path 与 XXXX_HOME 的区别
Windows 中的环境变量 Path 与 XXXX_HOME 的区别 XXXX_HOME Path 开发经常需要配置 Windows 中的环境变量,其中经常需要配置的环境变量有 Path.XXX ...
- Ubuntu中设置环境变量PATH
Ubuntu中设置环境变量PATH二种方法 时间:2008-11-06 00:00 来源:网管之家bitsCN.com 字体:[大 中 小] 目前在Ubuntu中有二种设置PATH环境变量的方法. 为 ...
- 环境变量PATH、mv命令、cp命令、文档查看命令(cat、more、less、head、tail)
环境变量PATH 就是指定默认路径 使用任何命令都需要进入/bin 目录下才能使用,而有了path 环境变量 我们可以赋予 变量值是/root/bin/ 那么我们就能在其他目录下调用命令的原因 PAT ...
- Linux 环境变量 $PATH
我们知道查阅文件属性的指令 ls 完整文件名为:/bin/ls(这是绝对路径),那为什么可以在任何地方执行/bin/ls 这个指令呢? 为什么在任何目录下输入 ls 就一定可以显示出一些讯息而不会说 ...
- linux path减少,Linux的环境变量PATH中所带来的问题及解决方法
Linux的环境变量PATH中所带来的问题及解决方法 发布时间:2006-01-07 10:08:27来源:红联作者:yo 本文主要讲述"."在LINUX的环境变量PATH中所带来 ...
最新文章
- Python的故事_two
- vue拖动改变模板_可视化拖拽 UI 布局之拖拽篇
- Creo二次开发--内存清理函数
- springmvc atomikos mysql数据源_springboot+atomikos+多数据源管理事务(mysql 8.0)
- 西北冬日的校园很静谧,却不失韵味,因为有我们美好的青春!
- Azure 和 Linux
- 信息学奥赛一本通 1011:甲流疫情死亡率 | OpenJudge NOI 1.3 06
- html在线时间24小时代码,每24小时弹一次的HTML代码
- matlab中round函数_Excel中round函数的使用方法
- 两个员工,一个做事认真但效率低,一个迟到早退但效率高,只能留一个我该留哪个?
- 利用模版元编程将传统冒泡排序性能提升两倍以上
- LOTO 示波器 两种电流探头的对比实测
- 史上最全软件测试工程师常见的面试题总结【杭州多测师】【面试题】【杭州多测师_王sir】...
- FinClip | 2022 年 10月产品大事记
- WIN10共享打印机连接出现0x0000011b错误代码无法共享打印
- 区块链数据共享论文阅读
- 招银网络:笔试题(20190906)
- 你们期待已久的微信功能,终于要来了
- 曲鸟全栈UI自动化教学(五):Selenium的键盘鼠标事件详解
- 规范IT监理的主旋律
热门文章
- JAVA简单项目购物系统的整个开发过程详解(内含源码和注释)
- 线程池满Thread pool exhausted排查和解决
- rk板子linux系统安装rga,drm,mpp
- APS生产计划排产在装备制造业的应用
- Java 反射机制:(三)类的加载
- 论文阅读 | Combating Adversarial Misspellings with Robust Word Recognition
- BC #38 / HDU5208 Where is Bob · 数位dp
- CSMA/CD总线以太网和交换式以太网
- Android 高德地图Marker和Marker点击事件处理
- 梦幻西游手游经验任务链计算机,梦幻西游手游任务链技巧攻略详解