终端找不到python3命令

上次更新完系统后,好像就没在命令行用过Python3

这次使用Python3发现找不到Python3

我是用套件管理工具Homebrew安装的Python3

第一反应是,是不是Python3被删了,然后到相关路径去看发现有Python3

然后,就是猜测环境变量没有设置好

但是知道这个原因,还是在这里花了好多时间

环境变量这个名词忘记了,就知道是放置路径的地方

找到需要设置的文件后 .bash_profile时不知道是不是应该在这里设置,我用zsh的,不知道是不是要在.zsh_profile设置

设置的格式不清楚

设置完成后,如何让PATH变量生效 source ~/.bash_profile

这里看出我对一些概念不是很熟悉,换句话说就是基础不怎么扎实

这里我补充下涉及到的概念,知识点

echo $PATH

echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。

$在这里是取得某个变量的值

PATH 就是变量名

合起来就是在控制台显示PATH环境变量的值

会看到下面一长串的东西1/usr/local/Cellar/python/3.6.1/bin:/usr/local/bin:/usr/local/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/hangyi/Library/Google/:/Users/hangyi/Library/Android/sdk/platform-tools

分号(:)是分隔的意思

所以当你在terminal里面输入python3时

系统就会开始从/usr/local/Cellar/python/3.6.1/bin找起

如果在/usr/local/Cellar/python/3.6.1/bin里面找不到的话

就会往下一个/bin去搜寻,以此类推

现在,我们回到资料夹去看

python3其实就在/usr/local/Cellar/python/3.6.1/bin里面

如果不同路径里也有一份python3怎么办,在terminal打python3指令时,会按照路径的顺序来查找python3

可以用sudo vim /etc/paths 来编辑查找顺序

但问题并没有完全解决

终端重开,就找不到Python3命令,每次需要输入source .bash_profile后才可以使用?

经过查找,现在终于知道是为什么了

需要改的是zsh的配置文件(~/.zshrc),我一直改的是bash的配置文件,所以每次打开终端都不会自动加载

而我source .bash_profile加载的bash的,这也解释了,为什么我每次关终端,会提示

“关闭这个窗口将会终止正在运行的进程:python”

我在这里有个误区,我一直把zsh当做是bash的主题美化类的东西,所以.bash_profile是可以配置zsh的,虽然我知道有zsh也有配置文件。就像bash的优先级是最高的。

那么zsh是什么呢,又有什么优点呢。我知道bash是一个shell。shell又是什么?英文单词是壳的意思。我的理解是用于输入指令控制计算机硬件。

shell是什么?书上是这么说的在操作系统中,应用程序其实是在最外层,就如同鸡蛋的外壳一样,因此这个咚咚也被称呼为壳程序(shell)了!

其实可程序的功能知识提供使用者操作系统的一个接口,因此这个可程序需要可以调用其他软件才好。有很多命令行命令,man,chmod,chown, vi, fdisk等指令,这些指令都是独立的应用程序,但是我们可以通过可程序(就是命令行界面)来操作这些应用程序,让这些应用程序来运行所需的工作

“也就是说,只要能够操作应用程序的接口都能够称为壳程序。

狭义的壳程序指的是命令行方面的软件,包括本章要介绍的 bash 等。

广义的壳程序则包括图形接口的软件!因为图形接口其实也能够操作各种应用程序来调用核心工作啊!”

摘录来自: 鸟哥. “鸟哥的Linux私房菜——基础学习篇(第四版)”。 chapter10

zsh有什么特点?

这里摘录维基百科上的解释

Z Shell(Zsh) 是一种Unix shell,它可以用作为交互式的登录shell,也是一种强大的shell脚本命令解释器。Zsh可以认为是一种Bourne shell的扩展,带有数量庞大的改进,包括一些bash、ksh、tcsh的功能。

Zsh具有以下主要功能:

开箱即用、可编程的命令行补全功能可以帮助用户输入各种参数以及选项。

在用户启动的所有shell中共享命令历史。

通过扩展的文件通配符,可以不利用外部命令达到find命令一般展开文件名。

改进的变量与数组处理。

在缓冲区中编辑多行命令。

多种兼容模式,例如使用/bin/sh运行时可以伪装成Bourne shell。

可以定制呈现形式的提示符;包括在屏幕右端显示信息,并在键入长命令时自动隐藏。

可加载的模块,提供其他各种支持:完整的TCP与Unix域套接字控制,FTP客户端与扩充过的数学函数。

完全可定制化。

zsh的手册里非常有名的第一句“鉴于zsh有许多功能,手册被分为数个章节”,总计有17章节,可见其手册的长度。

一个叫做“Oh My Zsh”的用户社区收录了Zsh的第三方扩展

可以理解为具有要很多功能的shell,像智能手机,而bash则是功能机,功能较少,但基本的功能都有。

所以这里可以看出bash与zsh是两种不同的shell,所以zsh的配置得单独配置

source命令用法1source FileName

source命令作用

在当前bash环境下读取并执行FileName中的命令。

source命令通常用于重新执行刚修改的初始化文档,如.bash_profile和.profile等等

例如,假如修改了 .bash_profile 中的 Python环境变量,能够用source命令重新执行 .bash_profile 中的命令而不需要关闭终端

参考资料

维基百科

《鸟哥的Linux私房菜——基础学习篇(第四版)》

python命令和python3命令_命令行找不到python3命令相关推荐

  1. dos命令窗口光标闪烁_史上最全的Vim命令(二)

    8. 排版 8.1 基本排版 << 向左缩进一个shiftwidth >> 向右缩进一个shiftwidth :ce(nter) 本行文字居中 :le(ft) 本行文字靠左 : ...

  2. shell命令查阅端口信息_短小强大的8个Linux命令,分分钟帮你提高工作效率!

    今天就跟大家分享自己工作中总结的8个超级好用,但鲜为人用的Linux命令,希望对大家有帮助. 1. fc 命令用途:编辑最近的一条命令并自动执行该命令 适用场景:执行了一条很长的命令,然而命令敲错执行 ...

  3. python3.8.5是python3吗_科学网-Ubuntu16.04安装Python3.8.5问题及解决方法-陈超的博文

    Ubuntu16.04安装Python3.8.5: 安装编译之后出现apt-get错误You might want to run 'apt-get -f install' to correct the ...

  4. opencv python3树莓派_树莓派4B日志七:Python3上的OpenCV安装

    1.准备工作 硬件:装好系统的树莓派. 软件:Putty,VNC Viewer.(也可以直接在屏幕上操作) 2.前言 前面几期介绍了树莓派的一些基本配置,今天让我们来打开新世界的大门.安装OpenCV ...

  5. linux命令速查手册_值得收藏!Linux系统常用命令速查手册

    作者:民工哥 出自:SegmentFault 思否 原文:segmentfault.com/a/1190000024538289 系统信息 arch #显示机器的处理器架构(1) uname -m # ...

  6. flac3d命令流实例大全_如何在Linux上使用xargs命令

    大家好,我是良许. 在使用 Linux 时,你是否遇到过需要将一些命令串在一起,但是其中一个命令不接受管道输入的情况呢?在这种情况下,我们就可以使用 xargs 命令.xargs 可以将一个命令的输出 ...

  7. cp命令显示进度条_为Linux的cp和mv命令添加进度条

    cp和mv可能是大家日常中使用最多的Linux命令之一.但是有一个突出的问题是这两个命令都不会有任何提示信息,这在操作大文件时候只能干等.可能大家对此已经习以为常,但是其实上也有解决解决方法,本文我们 ...

  8. python编程人脸识别工具_几行代码带你实现人脸识别。Python 就是这么简单

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:Python编程与实战 阅读文本大概需要 11分钟. ...

  9. python代码怎么弄颜色_布局背景颜色代码在python3中如何写?

    我们想要给某个模块着重突出,以便引起大家注意的时候,通常给那个模块的背景颜色换亮一点.这种情况的操作多见于我们想要突出表格中的某个数据,或是某一项的名称.在python3中设置布局背景颜色需要通过代码 ...

最新文章

  1. 1.2W 字的 SQL 语法速成手册
  2. activiti主要API对象
  3. P4391 [BOI2009]Radio Transmission 无线传输
  4. 006_logback体系结构
  5. mysql innodb_undo_directory默认_MySQL innodb_undo_tablespaces相关参数
  6. SQL SERVER查询时间条件式写法
  7. darknet activate_array
  8. 工作组无法访问计算机用户,工作组计算机无法访问,详细教您工作组计算机无法访问怎么解决...
  9. Redis数据类型--字符串类型
  10. 学编程必备的三个网站
  11. PostgreSQL中生成的列
  12. 关于结构体数据的读写
  13. 用Python绘制棒棒糖图表,真的好看!
  14. Bitwise Operation Explained
  15. 常用的SQL注入语句
  16. 老婆怀孕记录以及如何照顾老婆总结
  17. leaflet 把图片放到地图上L.imageTransform或者L.imageOverlay.rotated,把视频放到地图上L.videooverlay,把geoJson放到地图上,
  18. R语言保存png,pdf文件出现文件损坏或空白问题的解决方案
  19. OSPF ASBR及4类LSA研究
  20. 三色螺旋线 -《跟小海龟学Python》案例代码

热门文章

  1. c++攻读方向_攻读硕士学位的好,坏与丑
  2. Asterisk在mysql数据库中添加sip账号
  3. druid连接池例子
  4. NBA表格_爬取NBA球员薪资数据【Python数据分析百例连载】
  5. 如何比较两幅图的相似度
  6. 抖音流量突然降低怎么回事?流量不稳定什么原因?
  7. android参考文献英文字体,英文参考文献标准字体.doc.docx
  8. html摩天轮效果,用CSS3 animation模拟摩天轮旋转动画效果
  9. 【阿里招聘】三个与阿里初恋的故事
  10. java8List.sort()排序常用方法