放入路径

回忆上次内容

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

win11 npm设置python路径 怎么设置python路径_bash

win11 npm设置python路径 怎么设置python路径_bash_02编辑

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

路径

win11 npm设置python路径 怎么设置python路径_win11 npm设置python路径_03

win11 npm设置python路径 怎么设置python路径_bash_02编辑

  • 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

win11 npm设置python路径 怎么设置python路径_python_05

win11 npm设置python路径 怎么设置python路径_bash_02编辑

#查看当前$PATH
echo $PATH
#设置$PATH,注意不要加空格
export PATH=~:$PATH
#查看更新后的$PATH
echo $PATH
  • export PATH=~:$PATH
  • 前面的 PATH 不需要$
  • ~是当前用户 shiyanlou 的用户文件夹
  • 也就是/home/shiyanlou
  • :是分隔符号

具体效果

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

win11 npm设置python路径 怎么设置python路径_win11 npm设置python路径_07

win11 npm设置python路径 怎么设置python路径_bash_02编辑

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

尝试运行

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

win11 npm设置python路径 怎么设置python路径_bash_09

win11 npm设置python路径 怎么设置python路径_bash_02编辑

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

win11 npm设置python路径 怎么设置python路径_win11 npm设置python路径_11

win11 npm设置python路径 怎么设置python路径_bash_02编辑

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

成功运行

win11 npm设置python路径 怎么设置python路径_当前用户_13

win11 npm设置python路径 怎么设置python路径_bash_02编辑

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

执行过程

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

win11 npm设置python路径 怎么设置python路径_python_15

win11 npm设置python路径 怎么设置python路径_bash_02编辑

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

win11 npm设置python路径 怎么设置python路径_python_17

win11 npm设置python路径 怎么设置python路径_bash_02编辑

  • 这可怎么办呢?

重启终端过程

  • 新开一个终端之后

win11 npm设置python路径 怎么设置python路径_win11 npm设置python路径_19

win11 npm设置python路径 怎么设置python路径_bash_02编辑

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

终端初始化

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

win11 npm设置python路径 怎么设置python路径_当前用户_21

win11 npm设置python路径 怎么设置python路径_bash_02编辑

再新开终端

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

win11 npm设置python路径 怎么设置python路径_python_23

win11 npm设置python路径 怎么设置python路径_bash_02编辑

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

~/.bashrc

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

win11 npm设置python路径 怎么设置python路径_当前用户_25

win11 npm设置python路径 怎么设置python路径_bash_02编辑

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

win11 npm设置python路径 怎么设置python路径_当前用户_27

win11 npm设置python路径 怎么设置python路径_bash_02编辑

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

~/.zshrc

# 编辑zsh的配置文件rc(run command)
vi ~/.zshrc
  • 编辑这个配置文件
  • 在尾行下面加一句话
  • export PATH=$PATH:~
  • 可能不一定是124行
  • 只要是最后一行就行

win11 npm设置python路径 怎么设置python路径_win11 npm设置python路径_29

win11 npm设置python路径 怎么设置python路径_bash_02编辑

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

理解rc文件

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

win11 npm设置python路径 怎么设置python路径_python_31

win11 npm设置python路径 怎么设置python路径_bash_02编辑

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

rc

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

win11 npm设置python路径 怎么设置python路径_win11 npm设置python路径_33

win11 npm设置python路径 怎么设置python路径_bash_02编辑

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

运行当前zsh的初始化文件

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

win11 npm设置python路径 怎么设置python路径_win11 npm设置python路径_35

win11 npm设置python路径 怎么设置python路径_bash_02编辑

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

总结

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

win11 npm设置python路径 怎么设置python路径_当前用户_37

win11 npm设置python路径 怎么设置python路径_bash_02编辑

  • 我想看到 python3 这个进程
  • 可能吗?🤔
  • 下次再说👋
  • 作者:oeasy