lalilulelo_3 发表于 2022-6-2 12:04:48

VScode连接python内核报错。

起因是python自带的shell不支持退格符 \b,大佬建议换成其他 IDE,例如 PyCharm 、Vscode。

虽然是小白,但也听说过各路IDE相当方便,什么函数提示,自动补全,那还不借此机会安装一个?{:10_305:}

小甲鱼的教程里说新手不要用第三方IDE?{:10_272:}

谁鸟他啊。{:10_312:}

百度个教程,下载,安装,商店搜索python,继续安装,这不就成了么?能有多难?{:10_335:}

我要干什么来着?哦,我要测试一下退格转义符'\b'……{:10_267:}

敲入代码……

看看这高端大气黑色主题,华丽的彩色的代码,牛P的自动补全……这么好的东西老甲鱼为啥不让我们小白用?{:10_295:}


右键-【在交互窗口中运行当前文件】,跑起来吧……

………………………………正儿八经的分割线………………………………………………

请问各位大佬,我按教程安装了VScode,也安装了里面的python扩展,但是运行代码之后“连接python内核”会报错,错误信息如下:

print('abcd')

c:\Users\XIII\AppData\Local\Programs\Python\Python310\lib\site-packages\traitlets\traitlets.py:2392: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use 'hmac-sha256' instead of '"hmac-sha256"' if you require traitlets >=5.
warn(
c:\Users\XIII\AppData\Local\Programs\Python\Python310\lib\site-packages\traitlets\traitlets.py:2346: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use '686ce70b-7091-460a-9dc8-4ea092051655' instead of 'b"686ce70b-7091-460a-9dc8-4ea092051655"'.
warn(
Bad file descriptor (C:\projects\libzmq\src\epoll.cpp:100).
View Jupyter log for further details.

请教各位要如何解决?

Twilight6 发表于 2022-6-2 12:08:19



去 cmd pip 更新下 ipykernel 试试看:

pip install --upgrade ipykernel

另外如果想安装 PyCharm 可以来这里看看~

【保姆级教程】Anaconda3 & PyCharm 2022 最新 [企业版] 安装教程
https://fishc.com.cn/thread-212707-1-1.html
(出处: 鱼C论坛)


lalilulelo_3 发表于 2022-6-2 12:26:24

Twilight6 发表于 2022-6-2 12:08
去 cmd pip 更新下 ipykernel 试试看:




谢谢大佬回复,按照您的提示操作了一下。
第一次更新好像是提示我版本太低:
WARNING: You are using pip version 22.0.4; however, version 22.1.2 is available.
You should consider upgrading via the 'C:\Users\XIII\AppData\Local\Programs\Python\Python310\python.exe -m pip install --upgrade pip' command.
我按照它说的升级了一下,再次运行pip install --upgrade ipykernel没有黄字。

然后重新打开VScode,运行代码,之前问题依旧。

Twilight6 发表于 2022-6-2 12:34:21

lalilulelo_3 发表于 2022-6-2 12:26
谢谢大佬回复,按照您的提示操作了一下。
第一次更新好像是提示我版本太低:
WARNING: You are using p ...



先更新下 pip :

python -m pip install --upgrade pip

hrpzcf 发表于 2022-6-2 12:39:22

本帖最后由 hrpzcf 于 2022-6-2 12:42 编辑

不要右键运行,点右上角的三角形运行。
或者右键选在终端中运行。

lalilulelo_3 发表于 2022-6-2 13:36:12

Twilight6 发表于 2022-6-2 12:34
先更新下 pip :

嗯,我按照黄字提示更新了,对VScode的报错没有解决。

lalilulelo_3 发表于 2022-6-2 13:37:06

hrpzcf 发表于 2022-6-2 12:39
不要右键运行,点右上角的三角形运行。
或者右键选在终端中运行。

终端里显示:
C:\Users\XIII\AppData\Local\Programs\Python\Python310\python.exe: can't open file 'c:\\Users\\XIII\\OneDrive\\Python学习\\print': No such file or directory

另外为什么“不要右键运行”?

Twilight6 发表于 2022-6-2 14:41:32

lalilulelo_3 发表于 2022-6-2 13:37
终端里显示:
C:%users\XIII\AppData\Local\Programs\Python\Python310\python.exe: can't open file...



这里显示没有找到这个文件,你 vscode 新建代码文件时候注意后缀要为 .py 你这里明显没有后缀哈

hrpzcf 发表于 2022-6-2 14:59:31

lalilulelo_3 发表于 2022-6-2 13:37
终端里显示:
C:%users\XIII\AppData\Local\Programs\Python\Python310\python.exe: can't open file...

因为右键很多运行菜单,新手不知道要选哪个。
另外终端的报错是找不到文件,我不知道你为啥会出现这种问题,你是不是改过设置了

lalilulelo_3 发表于 2022-6-2 15:04:14

Twilight6 发表于 2022-6-2 14:41
这里显示没有找到这个文件,你 vscode 新建代码文件时候注意后缀要为 .py 你这里明显没有后缀哈

扩展名没问题,是VScode自动的,之前出现这个错误是因为我把文件保存在OneNote网盘文件夹了。现在我换了一个本地文件夹,按照楼上大佬的方法,确实可以编译运行,但是出现了一个很有趣的问题。现象如下:
键入代码:
print('abcd')
右键【在终端中运行python文件】,报错,信息如下:
>>> & C:/Users/XIII/AppData/Local/Programs/Python/Python310/python.exe d:/TTTTTTTTT/A.py
File "<stdin>", line 1
    & C:/Users/XIII/AppData/Local/Programs/Python/Python310/python.exe d:/TTTTTTTTT/A.py
    ^
SyntaxError: invalid syntax

右键【在python终端中运行选定内容/行】,运行成功
>>> print('abcd')
abcd
这是一个问题。

而【在交互式窗口中运行选定内容/行】,依然报错,但我觉得是另外一个问题。

lalilulelo_3 发表于 2022-6-2 15:14:47

hrpzcf 发表于 2022-6-2 14:59
因为右键很多运行菜单,新手不知道要选哪个。
另外终端的报错是找不到文件,我不知道你为啥会出现这种问 ...

每个右键运行的结果都不太一样……您可以看一下我上一条回复。

我确实按照百度的结果瞎改了一些东西,但我觉得不太像配置的问题,因为目前我确实能在中断下运行一行(运行文件还是报错),所以开启交互式窗口应该是另外的问题。

我有尝试把VScode卸载重装,但是之前的设置好像不会被清空……

lalilulelo_3 发表于 2022-6-2 15:21:48

Twilight6 发表于 2022-6-2 14:41
这里显示没有找到这个文件,你 vscode 新建代码文件时候注意后缀要为 .py 你这里明显没有后缀哈

我在交互窗口里输入代码,按“shift+enter”运行,报错的第一句就是:
Failed to start the Kernel.
百度翻译说“无法启动内核”。
我感觉还是内核连接有问题。

hrpzcf 发表于 2022-6-2 15:38:21

本帖最后由 hrpzcf 于 2022-6-2 15:39 编辑

lalilulelo_3 发表于 2022-6-2 15:14
每个右键运行的结果都不太一样……您可以看一下我上一条回复。

我确实按照百度的结果瞎改了一些东西, ...

我看了一下报错,应该是扩展设置的问题,你可以打开左边的“扩展”,找到python插件,店里齿轮图标,选“扩展设置”,在修改过的设置前面的齿轮图标选“重置设置”

hrpzcf 发表于 2022-6-2 15:42:29

lalilulelo_3 发表于 2022-6-2 15:14
每个右键运行的结果都不太一样……您可以看一下我上一条回复。

我确实按照百度的结果瞎改了一些东西, ...

有些菜单是用 ipython 内核运行有些菜单是 jupyter 运行,你新手就不要搞这些乱七八糟的了,直接用安装的解释器在终端中运行就完事了。

lalilulelo_3 发表于 2022-6-3 09:29:47

问题解决了,做一下总结。

首先我换了一台电脑测试,重新安装VScode,一路下来没改任何设置。

【在交互式窗口中运行选定内容/行】,弹出一个对话框(这在之前的电脑上是没有的)
https://i.bmp.ovh/imgs/2022/06/03/e04822f17bed78ee.png

选择安装之后,右下角弹出一串提示信息,好像在安装一堆插件,最后报错,错误信息:

Python 3.10.4 64-bit 需要安装 ipykernel。 Run the following command to install 'ipykernel' into the Python environment. Command: 'c:/Users/XIII/AppData/Local/Programs/Python/Python310/python.exe -m pip install ipykernel -U --user --force-reinstall'

百度一下发现缺少一个叫‘ipykernel’的插件。

命令提示行运行:pip install ipykernel -U --user --force-reinstall

提示pip不是内部命令,按照百度方法修改了环境变量,可以顺利执行pip,再次运行:pip install ipykernel -U --user --force-reinstall,报错:

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001F1B583DC90>, 'Connection to pypi.org timed out. (connect timeout=15)')': /simple/ipykernel/

感觉是网络问题,科学上网,再次运行,报错:

Downloading debugpy-1.6.0-cp310-cp310-win_amd64.whl (4.3 MB)
   ----- ---------------------------------- 0.6/4.3 MB 6.3 kB/s eta 0:09:41
ERROR: Exception:
Traceback (most recent call last):
File "c:\Users\XIII\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\urllib3\response.py", line 438, in _error_catcher

嗯……确实是网络问题,但是科学上网都没解决……百度问问。

百度结果是,要给pip换源。

再次运行,安装成功。

进入VScode,代码右键【在交互式窗口中运行选定内容/行】,成功!

总结起来三个关键点:
1.需要安装ipykernel,正常来说VScode会提示,但不知道第一台电脑为什么没提示。
2.要能运行pip命令,需要修改环境变量。
3.安装ipykernel需要给pip换源,否则无法下载。

虽然我实现了我想要的结果,但我不知道为什么……ipykernel什么?pip又是什么?
可以给自己选为最佳吗?{:10_254:}
页: [1]
查看完整版本: VScode连接python内核报错。