[oeasy]python0030_设置路径_export_PATH_zsh_系统路径设置_export

简介: [oeasy]python0030_设置路径_export_PATH_zsh_系统路径设置_export

 

放入路径

回忆上次内容

    • 我们要在任意路径下直接执行 sleep.py
      • sleep.py 放在 /usr/bin/ 下面
      • 最终可以在任意位置执行程序sleep.py
        • 但是
          • /usr/bin 里面放的一般都是二进制命令文件
          • 命令实在是太多太乱
          • 最终还是删除了sleep.py
            • 我想
              • 把宿主目录添加到系统变量 $PATH

                image.gif编辑

                  • 这样有可能吗?🤔
                  • 先回忆🤔
                    • 为什么无论当前路径在哪里
                    • ls都能执行

                      路径

                      image.gif编辑

                        • ls所在的路径是/usr/bin
                          • 是在系统变量$PATH中的

                            #!/usr/bin/python3

                            import time

                            while True:

                               print(time.asctime())

                               time.sleep(1)

                              • 现在只要把sleep.py
                                • 所在的文件夹目录
                                  • /home/shiyanlou
                                    • 也放到$PATH
                                    • 就可以随地调用其中的sleep.py了

                                      修改 PATH

                                      image.gif编辑

                                      #查看当前$PATH

                                      echo $PATH

                                      #设置$PATH,注意不要加空格

                                      export PATH=~:$PATH

                                      #查看更新后的$PATH

                                      echo $PATH

                                        • export PATH=~:$PATH
                                          • 前面的 PATH 不需要$
                                          • ~是当前用户 shiyanlou 的用户文件夹
                                            • 也就是/home/shiyanlou
                                              • :是分隔符号

                                                具体效果

                                                  • 注意!!!
                                                    • PATH必须大写
                                                      • $PATH$path是两回事
                                                        • 输入的时候千万注意不能使用中文标点!!!
                                                          • 包括:~都必须是英文半角

                                                              image.gif编辑

                                                                • 修改后主要是
                                                                  • 在老$PATH(黄色)之后
                                                                  • 增加了~(红色)
                                                                    • 当前用户文件夹(~)
                                                                    • 也就是shiyanlou的用户文件夹
                                                                    • /home/shiyanlou
                                                                        • 增加后的结果就是新$PATH
                                                                          • 就在蓝色方框内
                                                                              • /home/shiyanlou 下有 sleep.py
                                                                                • 这回能运行么

                                                                                  尝试运行

                                                                                    • 原来根本找不到的sleep.py

                                                                                    image.gif编辑

                                                                                      • 现在说的是权限不够
                                                                                        • 说明可以找到了
                                                                                        • 虽然由于权限问题不能运行
                                                                                          • 这说明
                                                                                            • shiyanlou的宿主目录已经进入系统路径$PATH了
                                                                                            • 只是权限不够
                                                                                            • 还是需要给当前用户执行权限

                                                                                              image.gif编辑

                                                                                                • chmod u+x sleep.py
                                                                                                  • sleep.py的owner是shiyanlou
                                                                                                  • shiyanlou就是当前用户
                                                                                                  • 给当前用户增加执行权限(execute)
                                                                                                    • 然后再尝试运行python.py

                                                                                                    成功运行

                                                                                                    image.gif编辑

                                                                                                      • sleep.py确实直接运行了!
                                                                                                        • 换个路径也可以么?🤔

                                                                                                          执行过程

                                                                                                            • 换个路径也能找到sleep.py

                                                                                                            image.gif编辑

                                                                                                              • 在内存中运行的python3
                                                                                                                • 解释执行 sleep.py
                                                                                                                • 每隔 1s 输出一次时间
                                                                                                                • ctrl+c结束进程
                                                                                                                  • 但是关闭当前终端
                                                                                                                  • 重新打开新的 xfce终端
                                                                                                                    • 这个新$PATH就失效了
                                                                                                                    • sleep.py也找不到了

                                                                                                                      image.gif编辑

                                                                                                                        • 这可怎么办呢?

                                                                                                                        重启终端过程

                                                                                                                          • 新开一个终端之后

                                                                                                                          image.gif编辑

                                                                                                                            • $PATH 就回到了最初
                                                                                                                              • 不包含/home/shiyanlou了
                                                                                                                              • 找不到 sleep.py 了
                                                                                                                                • 我希望每次新打开 terminal
                                                                                                                                  • 就自动把 $PATH 设置好
                                                                                                                                    • 应该怎么办?

                                                                                                                                    终端初始化

                                                                                                                                      • 研究一下终端的初始化过程
                                                                                                                                      • 当我们运行某个shell文件的时候
                                                                                                                                        • 首先会运行shell的rc文件
                                                                                                                                        • rc也就是 run command 配置文件
                                                                                                                                          • shiyanlou的 默认shell 是 zsh
                                                                                                                                            • 对应的 rc文件 就是 ~/.zshrc
                                                                                                                                            • 试着编辑他
                                                                                                                                            • vi ~/.zshrc
                                                                                                                                              • G到最后一行
                                                                                                                                              • o 在下方插入一个新行并进入编辑模式
                                                                                                                                              • 试着加一行输出

                                                                                                                                                  image.gif编辑

                                                                                                                                                  再新开终端

                                                                                                                                                    • 然后重新打开一个xfce终端

                                                                                                                                                    image.gif编辑

                                                                                                                                                      • 这说明新开终端的时候就会执行
                                                                                                                                                        • ~/.zshrc
                                                                                                                                                        • 因为我们默认的shell是zsh
                                                                                                                                                          • 如果默认的shell不是zsh
                                                                                                                                                            • 而是bash
                                                                                                                                                              • 会如何呢?

                                                                                                                                                              ~/.bashrc

                                                                                                                                                                • zsh对应的rc文件是~/.zshrc
                                                                                                                                                                • bash对应的 rc文件是~/.bashrc
                                                                                                                                                                  • 试着编辑他
                                                                                                                                                                  • vi ~/.bashrc
                                                                                                                                                                    • G到最后一行
                                                                                                                                                                    • o 在下方插入一个新行并进入编辑模式
                                                                                                                                                                    • 试着再加一行输出

                                                                                                                                                                        image.gif编辑

                                                                                                                                                                          • 切换shell的时候会有相应的提示

                                                                                                                                                                          image.gif编辑

                                                                                                                                                                            • 既然如此
                                                                                                                                                                            • 我们可以把export PATH=$PATH:~这句话
                                                                                                                                                                              • 放在默认的shell(zsh)的配置文件(~/.zshrc)中
                                                                                                                                                                                • 这样新每次运行zsh终端的时候
                                                                                                                                                                                  • 就自动完成路径配置
                                                                                                                                                                                  • 把~加入到$PATH的路径列表中

                                                                                                                                                                                    ~/.zshrc

                                                                                                                                                                                    # 编辑zsh的配置文件rc(run command)

                                                                                                                                                                                    vi ~/.zshrc

                                                                                                                                                                                      • 编辑这个配置文件
                                                                                                                                                                                        • 在尾行下面加一句话
                                                                                                                                                                                        • export PATH=$PATH:~
                                                                                                                                                                                        • 可能不一定是124行
                                                                                                                                                                                        • 只要是最后一行就行

                                                                                                                                                                                          image.gif编辑

                                                                                                                                                                                            • 以后只要是进 zsh
                                                                                                                                                                                              • $PATH 列表中就会包含用户文件夹~(/home/shiyanlou)
                                                                                                                                                                                                • 可是
                                                                                                                                                                                                  • 这个 ~/.zshrc 到底是啥意思

                                                                                                                                                                                                    理解rc文件

                                                                                                                                                                                                      • ~/.zshrc
                                                                                                                                                                                                        • ~ 指的是当前用户的用户宿主文件夹
                                                                                                                                                                                                          • 此配置只对当前用户(shiyanlou)有效
                                                                                                                                                                                                            • 首字母 . 说明这文件是个隐藏文件
                                                                                                                                                                                                              • ls 看不见
                                                                                                                                                                                                              • ls -a 才能看见

                                                                                                                                                                                                                  image.gif编辑

                                                                                                                                                                                                                    • zshrc
                                                                                                                                                                                                                      • zsh 指的是 当前shell是 zsh
                                                                                                                                                                                                                      • 而不是 bash
                                                                                                                                                                                                                      • bash 就得用 ~/.bashrc 进行配置
                                                                                                                                                                                                                        • 这个rc是什么意思呢?

                                                                                                                                                                                                                        rc

                                                                                                                                                                                                                          • rc 指的是 run commands 的缩写
                                                                                                                                                                                                                            • 运行程序
                                                                                                                                                                                                                            • 很多东西在配置 shell 的时候不用重复手动运行
                                                                                                                                                                                                                            • 写到 rc 里面
                                                                                                                                                                                                                            • 启动 shell 或者软件的时候就可以批量处理了
                                                                                                                                                                                                                              • ~/.zshrc
                                                                                                                                                                                                                              • ~/.vimrc
                                                                                                                                                                                                                              • ~/.bashrc

                                                                                                                                                                                                                                  image.gif编辑

                                                                                                                                                                                                                                    • 这个初始化程序对于新建的终端窗口是好用的
                                                                                                                                                                                                                                      • 但是还得重启一下zsh才能应用
                                                                                                                                                                                                                                        • 我想要就在当前的zsh下运行一把~/.zshrc
                                                                                                                                                                                                                                        • 可以么?

                                                                                                                                                                                                                                        运行当前zsh的初始化文件

                                                                                                                                                                                                                                          • 运行~/.zshrc配置文件
                                                                                                                                                                                                                                            • source ~/.zshrc
                                                                                                                                                                                                                                            • 这就是手动执行执行~/.zshrc
                                                                                                                                                                                                                                              • 或者直接运行zsh也可以

                                                                                                                                                                                                                                              image.gif编辑

                                                                                                                                                                                                                                                • 执行之后
                                                                                                                                                                                                                                                  • 路径就设置好了

                                                                                                                                                                                                                                                    总结

                                                                                                                                                                                                                                                      • 这次修改了 $PATH 路径
                                                                                                                                                                                                                                                        • 把当前用户shiyanlou的宿主文件夹 ~
                                                                                                                                                                                                                                                          • 添加到 $PATH
                                                                                                                                                                                                                                                            • 这样 sleep.py 就可以被找到
                                                                                                                                                                                                                                                            • 于是就可以被执行了
                                                                                                                                                                                                                                                              • 还可以把配置 $PATH 的脚本
                                                                                                                                                                                                                                                                • 放到 zsh的配置文件(~/.zshrc) 中
                                                                                                                                                                                                                                                                • 配置 ~/.zshrc 就可以
                                                                                                                                                                                                                                                                  • 设置 zsh 环境下默认的 $PATH
                                                                                                                                                                                                                                                                      • 在当前路径运行 sleep.py
                                                                                                                                                                                                                                                                        • python 程序第 1 行
                                                                                                                                                                                                                                                                          • 声明打开方式为 python3
                                                                                                                                                                                                                                                                            • /usr/bin/python3
                                                                                                                                                                                                                                                                              • 从硬盘调用到内存
                                                                                                                                                                                                                                                                                • 成为一个进程
                                                                                                                                                                                                                                                                                  • 不断输出时间
                                                                                                                                                                                                                                                                                    • ctrl+c结束进程

                                                                                                                                                                                                                                                                                          image.gif编辑

                                                                                                                                                                                                                                                                                            • 我想看到 python3 这个进程
                                                                                                                                                                                                                                                                                              • 可能吗?🤔
                                                                                                                                                                                                                                                                                                相关文章
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                1月前
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                机器学习/深度学习 人工智能 算法
                                                                                                                                                                                                                                                                                                基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
                                                                                                                                                                                                                                                                                                眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
                                                                                                                                                                                                                                                                                                135 5
                                                                                                                                                                                                                                                                                                基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                1月前
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                安全 前端开发 数据库
                                                                                                                                                                                                                                                                                                Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
                                                                                                                                                                                                                                                                                                这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                27天前
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                人工智能 Shell 开发工具
                                                                                                                                                                                                                                                                                                [oeasy]python062_在python中完成输入和输出_input_print
                                                                                                                                                                                                                                                                                                本文介绍了在Python中使用`input()`和`print()`函数完成输入和输出操作的基础知识。通过编写简单的程序,如问候用户和统计苹果数量,演示了如何添加提示信息、处理用户输入并输出结果。同时,回顾了上一次课程内容,包括`input`函数的参数和提示词的使用。文中还展示了如何在vim编辑器中编写和运行Python代码,并对vim和shell的基本操作进行了总结。最后提供了相关学习资源链接,方便读者进一步学习。
                                                                                                                                                                                                                                                                                                115 66
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                7天前
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                机器学习/深度学习 人工智能 算法
                                                                                                                                                                                                                                                                                                基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
                                                                                                                                                                                                                                                                                                蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
                                                                                                                                                                                                                                                                                                51 11
                                                                                                                                                                                                                                                                                                基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                7天前
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                人工智能 Shell 开发工具
                                                                                                                                                                                                                                                                                                [oeasy]python065python报错怎么办_try_试着来_except_发现异常
                                                                                                                                                                                                                                                                                                本文介绍了Python中处理异常的基本方法,重点讲解了`try`和`except`的用法。通过一个计算苹果重量的小程序示例,展示了如何捕获用户输入错误并进行处理。主要内容包括: 1. **回顾上次内容**:简要回顾了Shell环境、Python3游乐场和Vim编辑器的使用。 2. **编写程序**:编写了一个简单的程序来计算苹果的总重量,但发现由于输入类型问题导致结果错误。 3. **调试与修正**:通过调试发现输入函数返回的是字符串类型,需要将其转换为整数类型才能正确计算。
                                                                                                                                                                                                                                                                                                48 32
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                4天前
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                数据库 Python
                                                                                                                                                                                                                                                                                                [oeasy]python066_如何捕获多个异常_try_否则_else_exception
                                                                                                                                                                                                                                                                                                本文介绍了Python中`try...except...else`结构的使用方法。主要内容包括: 1. **回顾上次内容**:简要复习了`try`和`except`的基本用法,强调了异常处理的重要性。 2. **详细解释**: - `try`块用于尝试执行代码,一旦发现错误会立即终止并跳转到`except`块。 - `except`块用于捕获特定类型的异常,并进行相应的处理。 - `else`块在没有异常时执行,是可选的。 3. **示例代码**:通过具体例子展示了如何捕获不同类型的异常(如`ValueError`和`ZeroDivisionError`),并解释了异常处理
                                                                                                                                                                                                                                                                                                35 24
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                10天前
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                缓存 Shell 开发工具
                                                                                                                                                                                                                                                                                                [oeasy]python064_命令行工作流的总结_vim_shell_python
                                                                                                                                                                                                                                                                                                本文总结了命令行工作流中的关键工具和操作,包括vim、shell和Python。主要内容如下: 1. **上次回顾**:完成了输入输出的代码编写,并再次练习了vim的使用。 2. **shell基础**:介绍了shell环境及其基本命令,如`pwd`、`cd`、`ll -l`等。 3. **Python游乐场**:通过`python3`命令进入Python交互环境,可以进行简单计算和函数调用,常用函数有`help`、`ord`、`chr`等。 4. **vim编辑器**:详细讲解了vim的三种模式(正常模式、插入模式、底行命令模式)及其切换方法,以及常用的底行命令如`:w`、`:q`、`
                                                                                                                                                                                                                                                                                                57 15
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                1月前
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                人工智能 Unix Java
                                                                                                                                                                                                                                                                                                [oeasy]python059变量命名有什么规则_惯用法_蛇形命名法_name_convention_snake
                                                                                                                                                                                                                                                                                                本文探讨了Python中变量命名的几种常见方式,包括汉语拼音变量名、蛇形命名法(snake_case)和驼峰命名法(CamelCase)。回顾上次内容,我们主要讨论了使用下划线替代空格以提高代码可读性。实际编程中,当变量名由多个单词组成时,合理的命名惯例变得尤为重要。
                                                                                                                                                                                                                                                                                                89 9
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                1月前
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                C语言 Python
                                                                                                                                                                                                                                                                                                [oeasy]python058_一句话让python崩了
                                                                                                                                                                                                                                                                                                本文介绍了如何通过重新赋值`__builtins__`使Python环境崩溃,并探讨了下划线的来历及其在编程中的作用。文章回顾了上次内容,展示了覆盖内建模块导致系统崩溃的过程,解释了恢复方法,以及PEP 8规范中关于空格使用的建议。最后,文章总结了下划线在变量定义和提高代码可读性方面的重要性,并简述了其从打字机时代到计算机时代的演变。
                                                                                                                                                                                                                                                                                                35 10
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                2月前
                                                                                                                                                                                                                                                                                                |
                                                                                                                                                                                                                                                                                                Python
                                                                                                                                                                                                                                                                                                [oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
                                                                                                                                                                                                                                                                                                本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
                                                                                                                                                                                                                                                                                                52 14

                                                                                                                                                                                                                                                                                                热门文章

                                                                                                                                                                                                                                                                                                最新文章

                                                                                                                                                                                                                                                                                                推荐镜像

                                                                                                                                                                                                                                                                                                更多