终端输入错误命令却得到一个python的报错

部署运行你感兴趣的模型镜像

错误场景:更新系统Python

ubuntu16.04,系统自带python2.7.12和python3.5.2。 因为写代码要用到协程相关的库正好支持最低在python3.5.3。 于是下了个Python3.6把系统的python更新了。更新完成后系统终端出现了这样莫名其妙的问题:

threedog@ThreeDog:~/python/Python-3.6.5$ dsadad
Traceback (most recent call last):
  File "/usr/lib/command-not-found", line 27, in <module>
    from CommandNotFound.util import crash_guard
ModuleNotFoundError: No module named 'CommandNotFound'

系统的正常命令不受影响,但是只要是错误命令,会莫名其妙的调用的Python里去而不是bash的命令解释器。除此之外,通过Ctrl+Alt+t也无法呼出系统终端。心里顿时一团乱码…

出错原因

这个Python的更新是按照网上随便翻了一篇教程来的。更新的过程中执行了这样两步骤:

sudo ln -sf /usr/local/bin/python3 /usr/bin/python3
sudo ln -sf /usr/local/bin/pip3 /usr/bin/pip3

路径/usr/local/bin下的python3和pip3都是我刚装好的python3.6.5

解决方案

找到系统之前自带的python3 (python3.5.2) 然后创建软连接指回去。

sudo ln -sf /usr/bin/python3.5 /usr/local/bin/python3
sudo ln -sf /usr/bin/python3.5 /usr/bin/python3

问题解决,终端恢复正常。

这是一个教训。不管给系统装多新的python,千万不要动系统自带的python python3的软连接。包括pip和pip3的软连接,不只是肉眼可见的什么yum不能用的问题,这么搞会出现很多不可预知的隐患。

给自己的新版python软连接起个其他名字python36python3.6之类的别嫌麻烦。脚本里面#!/usr/bin/python36手动指定, 否则系统里的默认Python解释器出了问题很难搞。

我这链接改回去后估计还存在pip和python对应不上等等问题。一招走错步履维艰。

吐槽

这次算长了个记性。直接搜Linux下更新python的文章,前五篇无一例外的都包含了不负责任的一句ls -sf修改系统的默认python解释器。也不知道大佬们改完系统的python后为什么就没遇到过问题。

这个解决方案是在google里扒到的:https://unix.stackexchange.com/questions/9580/why-is-this-python-error-message-generated-whenever-i-type-a-nonsense-command

国内查到的答案,又让我改~/.bashrc,又让我改/usr/lib/command-not-found,还有大佬对着这个CommandNotFound的报错一顿分析,查个报错差点把老血喷上一屏幕…

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

<think> 首先,用户的问题是:"我想查找在VSCode中运行Python文件需要在终端输入命令 请问在VSCode中运行Python文件需要在终端输入命令"。核心是:在VSCode中运行Python文件时,需要在终端输入什么命令。 现在,回顾系统级指令: - 所有行内数学表达式使用 `$...$` 格式(但这个问题不涉及数学,所以可能不需要)。 - 独立公式使用 `$$...$$`(这里可能不适用)。 - LaTeX语法正确(确保代码块正确)。 - 使用中文回答。 - 生成相关问题。 - 回答中引用的段落末尾自然地添加引用标识。 用户提供了引用内容 [^1] 到 [^4]: - [^1]:讨论在VSCode中运行Python代码的方法,包括右键点击运行和调试。 - [^2]:列出了VSCode运行Python的快捷键,如Ctrl+F5运行Python文件。 - [^3]:提到Python文件无法在VSCode终端运行的问题,涉及路径设置。 - [^4]:包含一些Bilibili链接,似乎是推广内容,可能与Python学习相关。 用户的问题焦点是“在终端输入命令”,意思是手动在VSCode的终端输入什么命令来运行Python文件。 从引用中提取相关信息: - 从 [^1]:"在 hello.py 文件中,右键点击代码区域。选择“Run Python File in Terminal”。" 这描述了GUI操作,不是手动输入命令。 - 从 [^2]:快捷键的运行方式,如Ctrl+F5运行文件,Shift+Enter运行选中代码。这些是键盘快捷键,不是终端命令。 - 从 [^3]:提到了路径问题,但没有给出具体的运行命令。 - [^4] 主要是推广内容,不太相关。 所以,我需要基于常识和引用推断出终端命令。在VSCode中,要手动在终端运行Python文件,用户通常需要打开终端(如PowerShell或CMD),然后输入命令如 `python hello.py` 或 `python3 hello.py`,具体取决于系统配置。 从用户上下文看,引用中没有直接给出命令,但 [^3] 暗示了路径问题:"例如路径为C:\Users\你的用户名\AppData\Local\Programs\Python\Python311\python.exe",这提示命令涉及python.exe。 因此,标准的命令是: - 在终端中,导航到Python文件所在的目录。 - 然后输入 `python filename.py`(Windows),或 `python3 filename.py`(Mac/Linux),前提是Python已添加到系统PATH。 如果Python未添加到PATH,用户可能需要使用完整路径,如引用 [^3] 所示:"C:\Users\你的用户名\AppData\Local\Programs\Python\Python311\python.exe filename.py"。 回答结构: - 使用中文回答。 - 结构清晰:逐步解释如何运行。 - 生成相关问题。 - 引用相关段落。 回答大纲: 1. 解释基本命令:在终端输入 `python filename.py`。 2. 讨论前提:需要Python安装并添加到PATH。 3. 如果在VSCode中,终端应该打开在文件所在目录。 4. 引用相关引用:例如,[^1] 提到使用终端运行,[^3] 提到路径问题。 5. 生成相关问题。 最终回答: - 开头直接回答命令。 - 提供细节。 - 添加引用标识。 - 生成相关问题。 相关问题想法: 1. 如何检查Python是否添加到PATH? 2. 在VSCode中如何设置终端路径? 3. 运行Python文件时常见的错误有哪些? 确保回答真实可靠:基于标准Python运行方式。 </think> ### 在VSCode中运行Python文件的终端命令 在VSCode中手动运行Python文件时,您需要在集成的终端输入特定的命令。核心命令是 `python 文件名.py`(Windows)或 `python3 文件名.py`(Mac/Linux),前提是Python已正确安装并添加到系统环境变量PATH中。以下是详细步骤和说明: 1. **打开终端**: - 在VSCode中,按快捷键 `Ctrl + ``(反引号键)打开集成终端(或通过菜单栏:View > Terminal)。 - 确保终端已定位到Python文件所在的目录。如果文件不在当前目录,使用 `cd` 命令切换到正确路径,例如: ``` cd C:\Users\你的用户名\项目文件夹 # Windows cd /Users/你的用户名/项目文件夹 # Mac/Linux ``` 2. **输入运行命令**: - 对于Python文件(假设文件名为 `hello.py`): ``` python hello.py # Windows系统 python3 hello.py # Mac或Linux系统 ``` - 如果命令执行成功,终端会输出结果(如 `Hello, World!`)。 - **注意**:如果Python未添加到PATH(常见问题),您可能需要指定Python解释器的完整路径,例如引用 [^3] 中提到的路径: ``` C:\Users\你的用户名\AppData\Local\Programs\Python\Python311\python.exe hello.py # Windows /usr/bin/python3 hello.py # Mac/Linux示例路径 ``` 3. **常见问题与解决**: - **Python未添加到PATH**:如果输入 `python` 命令报错(如“python is not recognized”),表示Python未正确配置。您可以: - 检查Python安装路径(参考引用 [^3]),并手动添加PATH。 - 在VSCode中设置默认解释器:按 `Ctrl + Shift + P`,输入Python: Select Interpreter”,选择正确路径。 - **快捷键替代方案**:虽然用户查询的是终端命令,但VSCode提供快捷键简化操作(无需手动输入命令)。例如,按 `Ctrl + F5`(Windows)或 `Command + F5`(Mac)可直接运行当前文件(引用 [^2])。右键点击代码选择“Run Python File in Terminal”也能自动触发命令(引用 [^1])。 - **调试模式**:如果需要调试,使用 `F5` 启动调试(引用 [^2]),这会自动在终端中执行命令并添加断点支持。 4. **注意事项**: - 确保文件扩展名为 `.py`,且代码无语法错误。 - 如果终端无法运行(如引用 [^3] 中的路径错误),请验证Python安装完整性。 - 更多学习资源可参考引用 [^4],但需注意其推广性质。 综上所述,核心命令是 `python 文件名.py` 或 `python3 文件名.py`。正确配置后,VSCode终端会高效执行Python代码[^1][^2][^3]。 ### 相关问题 1. 如何检查Python是否已添加到系统PATH? 2. 在VSCode中如何设置默认的Python解释器路径? 3. 运行Python文件时常见的错误(如“ModuleNotFoundError”)如何解决?
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值