你在开玩笑吧 居然还有人不知道为什么开发Java、Python、PHP程序要配置环境变量 你看完之后不秒懂都不行

简介: 开发Java、Python、PHP程序要配置的环境变量

🚀 个人主页 极客小俊
✍🏻 作者简介:web开发者、设计师、技术分享博主
🐋 希望大家多多支持一下, 我们一起进步!😄
🏅 如果文章对你有帮助的话,欢迎评论 💬点赞👍🏻 收藏 📂加关注

1.png

2.gif

你在开玩笑吧! 居然还有人不知道为什么要配置环境变量?😅

前言概述

你在开始学习编程的时候,首先就会接触到环境变量

例如java、python、php等开发语言的时候,需要去配置一个环境变量 但又不知道为什么要去配置它!

并且这个环境变量在配置的时候你也不能照本宣科的去配置,稍有不慎就会出现各种各样的问题!

今天我们就来讨论讨论这个环境变量的话题,并且搞清楚它的原理,这样以后再次遇到类似问题就会迎刃而解!

3.gif

什么是环境变量🧐

环境变量 英文名为: Environment variables

是在操作系统中一个具有特定名字的对象,它包含了一个多个应用程序所将使用到的信息, 例如: 如系统临时文件夹位置、系统文件夹位置、某些应用软件文件的路径等等..

举个梨子🍐

当要求系统运行一个程序但是又没有告诉它这个程序所在的完整路径时,系统默认会在当前目录下面寻找这个程序,如果找不到就会到环境变量中的path中指定的路径去找, 所以我们用户可以通过设置环境变量,来更好的运行程序!

这里我以windows系统的环境变量来举个梨子

为了让大家更好的去理解这句话,我们这里来实际操作一下, 你可以打开你的cmd命令行终端来尝试运行一下你的QQ程序, 输入一个QQ程序,你看看会发生什么事情!

如图
4.png

这里他提示了一个'qq' 不是内部或外部命令,也不是可运行的程序或批处理文件

结果很明显,不能通过这种方式去打开QQ程序,对吧 也就是说你要先告诉系统这个程序在哪,才能进行打开

也相信大多数人都是通过桌面的QQ图标或者菜单等方式去点击打开这些应用程序 对吧😅

那么如果说我硬要通过这种cmd的方式去打开一个应用程序该怎么办呢?首先你要进入并且找到这个程序的准确路径位置!

例如上面我们要打开QQ 我就要先通过cmd命令直接进入到QQ安装的所在目录下的bin目录下的QQ.exe这个执行程序, 当然这里需要通过一些简单的DOS命令 才可以进去, 不明白没关系,后面会说到!

这里我这里的路径为D:\腾讯软件\QQ\Bin

那么我先切换到D盘,然后再使用cd命令切换到D:\腾讯软件\QQ\Bin这个目录下,最后执行一下QQ.exe

如图

5.png

嘿嘿 你惊奇的发现居然打开了QQ程序, 是不是感觉很zb! 这个效果跟你在点击图标去打开是一个效果, 没有任何区别!

那如果本次都叫你用这种去慢慢输入路径的方式打开 万一路径很长很复杂那岂不是你要疯掉!🙄, 当然这里只是举个梨子,让你更好的理解为什么要配置环境变量 你完全可以使用桌面图标来打开这些应用程序!😮‍💨

而且你如果关掉cmd后重新打开,再次输入QQ 其实又是同样的问题,这就意味着你要从cmd打开QQ必须每次按照刚才的步骤进行打开,并且你还必须要切换到这个QQbin目录下才行,这样就很麻烦了, 也不利于你zb!🤔

那么有没有办法让我们在随便哪个目录中都可以直接使用cmd输入一个QQ就可以打开的办法呢?

现在就是使用环境变量的时候了!

其实很简单你只要把刚刚那个bin目录的路径添加到环境变量系统变量下的path中就可以了

这里的path也就是环境变量中用来指定可执行文件绝对路径,这里配置了很多很多路径,彼此之间用分号隔开!

具体操作这里以win10为例,步骤如下:

点击此电脑---->右键(选择属性)----->点击高级系统设置------>点击(环境变量)

如图

6.png

然后找到系统变量下的path点击编辑

如图

7.png

然后点击新建

8.png

然后复制你的QQ安装目录下的bin路径, 我的路径如下图

9.png

也就是复制D:\腾讯软件\QQ\Bin到新建的对话框中

10.png

最后全部点击确定即可!

然后你就可以在cmd中的任意目录 任意盘符下进行打开这个应用程序了!

通过这个小案例 你应该对环境变量有一点点初步的认识了吧!

小结

环境变量的主要作用就是规定了某些系统文件所在的位置!

11.gif

用户变量和系统变量的区别👩‍👦‍👦

概述

在上面的环境变量介绍中,我们看到可以通过配置一些路径从而达到在cmd命令行中快速启动应用程序!

但是眼尖的朋友可能已经发现,环境变量的配置中被分为了 用户变量系统变量 他们分别又是什么意思呢?

用户变量 👦

环境变量中的用户变量配置只会当前所登录的系统用户生效, 也就是说登录的系统用户可以对他自己所配置的环境变量参数进行增删改 , 不同用户的用户变量之间是独立存在的,并且互不干扰的

系统变量👩

环境变量系统变量的配置会对所有用户都会有效, 也就是说如果系统变量被修改了,那么任何一个用户都将受到影响!

但是只有管理员账户才有权限进行系统变量的设置, 普通系统用户是不能够去修改系统变量的, 当然一般情况下你通常都是使用的系统管理员账户进行windows系统的登录的

所以平常我们在自己的电脑系统中去配置环境变量的时候,不管你是配置在用户变量还是系统变量基本上还是没有什么区别!

用户变量和系统变量之间的关系👣

用户变量系统变量 我们可以用一张图来进行表示!

如图
12.jpeg

看到了吧,不同用户的用户变量之间是并列独立的, 但是如果说系统变量被修改了,那么任何系统用户级别都会用系统变量,因此每个用户都将受到影响

所以说系统变量就是系统级别的变量,影响范围最大, 而用户变量是建立在系统变量之前的独立存在, 它需要使用系统变量, 而我们所指的环境变量则是是一个整体,它里面就代表了系统变量用户变量

所以用户变量系统变量的区别就是他们的级别不一样!

14.gif

如何自定义环境变量命令🧶

当我们想通过cmd来运行一个自己定义的命令时,就会出现不是内部或外部命令,也不是可运行的程序 或批处理文件的提示信息!

但是如果我们在cmd中输入一个shutdown命令则可以完全正常执行!

如图

15.png

这个原因也很简单,正因为shutdown在环境变量中定义了它这个命令所在的路径,而test这个命令则没有!

shutdown命令的默认路径是在C:\Windows\System32目录下, 包括一些常见的cmd命令其实都在这个目录下

如图

16.png

C:\Windows\System32这个路径也是默认安装系统的时候就被定义在了环境变量当中, 就跟之前定义QQ应用程序也是一个道理!

如图

17.png

所以根据这个道理我们也可以自定义一个环境变量来进行调用!

要知道变量、变量 就是一个可变化的量 我们就利用这个特点来自己定义一个系统变量然后调用它来打开某个应用程序!

举个梨子

我这里要打开微信,当然你完全可以依照之前的办法在path中把微信的WeChat.exe路径加入到其中, 但是这样子做不够灵活!

我们可以先在系统变量中定义一个weixin 然后设置为微信目录地址!

我的地址为:D:\腾讯软件\WeChat

选择系统变量 点击新建 输入变量名

变量名 英文即可!

就是微信的路径

如图
18.png

19.png

设置好了之后,我们现在就可以对它进行调用!

然后再path中把刚刚自定义好的weixin这个变量加入到其中,格式为%变量名%

如图

20.png

这样一来以后你只需要去修改变量的值 path中就会自动获取到了!

接下来就可以去cmd中尝试一下打开这个应用程序吧!

21.gif

所以通过以上的操作,只要是在cmd中去执行的应用,其位置均储存在环境变量目录值中,我们在执行cmd中的应用时,其实就是在遍历环境变量所有应用程序的位置, 并且查看其中有没有该程序!

如果没有就会提示未找到这种信息,如果在环境变量中找到了你在cmd中输入的命令,那么通过环境变量就可以直接去找到该程序并且执行!

22.gif

为什么编程开发要配置环境变量🎓

知道什么是环境变量以后,现在应该明白我们在开发java、python、php之前需要配置的环境变量的原因了吧

举个梨子

比如Java我们就需要把JDKbin目录添加到环境变量path中,这样我们就可以在任意目录下使用bin下面的.exe可执行程序,javac.exe、java.exe

javac.exe用来处理.java源代码文件,是把源代码文件编译字节码文件的一个工具,经过javac.exe这个工具编译java源代码文件后形成的.class就是字节码文件

java.exe用来处理.class字节码文件进行执行的,也就是JVM解释执行java程序, 从而实现java程序的运行

而他们都在bin目录下, 这都是为了能够方便的使用这些开发语言所带有的编译解释工具和命令, 所以我们才要配置环境变量

如图

23.png

要知道这也正是很多新手朋友刚刚入门java的一个难题, 如果环境变量配置不成功,在cmd中去输入java就会提示找不到某某的关键词 对吧!

然而java的应用程序开发包就在安装JDK目录下面的bin目录中, 并且所有跟Java相关的工具都在bin目录中!

24.png

所以在开始学习java或者其他一些开发语言的时候,为了操作方便必须要配置一下环境变量 从而达到能够正常运行java的环境, 其他一些语言也是以此类推!

25.png

26.gif

环境变量的一些小玩法😅

既然我们知道了环境变量中的path可以被系统自动检索,那么我们就也利用这个特点来做一些配置!

举个梨子

我们可以指定某个文件夹下的所有.exe执行程序都可以直接在命令行终端里输入其名称,并且直接打开!

你可以提前准备好一些.exe程序,并放入到一个tools的目录中,比如你把这个目录建立在D:盘

如图

27.png

然后你只需要把这个D:\tools路径配置到环境变量path当中

如图

28.png

现在就可以通过命令行终端直接输入其执行程序的名称来直接打开了!

如图

29.gif

但是这种办法 可能会有一些弊端, 因为有些.exe执行程序你拷贝到另外的文件夹是无法被正常打开的!

既然是环境变量我们就要用变量的特性来解决这个问题, 也就是用变量访问指定文件夹列表的方式!

我们可以在系统变量当中自定义一个变量名TOOLS

那么它的值为如下

D:\Microsoft VS Code;D:\PotPlayer64;D:\Typora;D:\ReNamer;D:\Bandizip

也就是我们把vscode、PotPlayer、typora、renamer、bandizip这几种应用的路径都赋值到一个变量当中

如图

30.png

注意: 第一次输出的时候,需要这样进行输入,以后再添加直接点击编辑就可以了

也就是以下这个样子
31.png

也就是把多个路径映射到一个变量

然后再把这个TOOLS变量添加到系统变量中的Path下, 加入的格式就为%自定义的变量名%

如图

32.png

这样子我们就可以通过终端命令行来快速启动这些应用了, 当然前提你要知道这些应用执行程序的名称!

如图

33.gif

最后🤗

看到这里了想必你已经对环境变量也应该有一个基本的认识了吧,也不会对环境变量的配置感到复杂了!

环境变量还有更多的玩法,也期待小伙伴勇于去发现其中的奥秘!🤗

相关文章
|
7月前
|
机器学习/深度学习 JSON Java
Java调用Python的5种实用方案:从简单到进阶的全场景解析
在机器学习与大数据融合背景下,Java与Python协同开发成为企业常见需求。本文通过真实案例解析5种主流调用方案,涵盖脚本调用到微服务架构,助力开发者根据业务场景选择最优方案,提升开发效率与系统性能。
1628 0
|
7月前
|
jenkins Shell 测试技术
|
6月前
|
安全 前端开发 Java
《深入理解Spring》:现代Java开发的核心框架
Spring自2003年诞生以来,已成为Java企业级开发的基石,凭借IoC、AOP、声明式编程等核心特性,极大简化了开发复杂度。本系列将深入解析Spring框架核心原理及Spring Boot、Cloud、Security等生态组件,助力开发者构建高效、可扩展的应用体系。(238字)
|
7月前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
7月前
|
jenkins Java Shell
Java、Python、C++支持jenkins和SonarQube(全集)
Jenkins 是一个开源的持续集成(CI)和持续交付(CD)工具,用于自动化构建、测试和部署软件项目。它基于 Java 开发,支持跨平台运行,并拥有丰富的插件生态系统,可以灵活地扩展功能
606 1
|
7月前
|
jenkins Java 持续交付
Java、Python、C++支持Jenkins和SonarQube(三)
Python与Jenkins和SonarQube
322 1
|
7月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
7月前
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。
|
7月前
|
jenkins Java 测试技术
|
7月前
|
存储 Java 关系型数据库
Java 项目实战基于面向对象思想的汽车租赁系统开发实例 汽车租赁系统 Java 面向对象项目实战
本文介绍基于Java面向对象编程的汽车租赁系统技术方案与应用实例,涵盖系统功能需求分析、类设计、数据库设计及具体代码实现,帮助开发者掌握Java在实际项目中的应用。
271 0

推荐镜像

更多