原来本地(win10)可运行的一个练习项目(包含*py和*.ipynb),复制到远程主机(ubuntu)后,用vscode 远程开发,碰到以下问题,记录一下,作为备忘录。
vscode会有中文提示:[tht13.python]: "configuration.jsonValidation.url" 必须是绝对 URL 或者以 "./" 开头,以引用扩展中的架构。
若vscode为英文版:[tht13.python]: ‘configuration.jsonValidation.url’ must be an absolute URL or start with ‘./’ to reference schemas located in the extension.
解决办法:在
~\..vscode-server\extensions\tht13.python-0.2.3\.package.json文件中,找到jsonValidation,在url前加上一个圆点.
参考链接:
https://www.sci.dog/?p=484
https://ywnz.com/linuxjc/6331.html
注意:修改远程主机端,而不是本地端。
vscode 远程打开*.py 文件没问题,但只要开*.ipynb就挂了:ipynb文件打不开,且vscode开始频繁掉线并自动重连。
这个问题被弄的头疼不已。搜索好几个小时,折腾不少,总算勉强解决,能正常用了(并没有彻底解决)。
说没有彻底解决,是因为在打开某一些ipynb文件时,加载的有点慢,仍然会断线重连,但等个一两次重连,就能正常加载。
说勉强解决,是因为在解决前,基本加载不了ipynb,一直断线重连(貌似还有规律,20s左右就自动断线再重连)。
搜索了一些链接文章,也照做了一些,不确定是哪个动作是有效。把思路和动作记录一下吧。
1,先确定远程主机有安装最新版的anaconda
参考:https://ywnz.com/linuxjc/1896.html
2,在远程主机端利用conda 安装python环境,并在此环境下,安装jupyter notebook
参考:
https://blog.csdn.net/codingpy/article/details/105803890
https://blog.csdn.net/weixin_40787712/article/details/106678293
创建环境:conda create --name python381 python=3.8.1
激活环境:conda activate python381
安装jupyter note:conda install jupyter notebook
该文后来启动jupyter服务,并将服务地址指定给vscode,当时试过后看起来没有解决,打开ipynb仍然加载不了且断线重连。且发现在vscode指定连接url时,其defauld选项表示可以自动启动jupyter server。所以后面的尝试就用的是default。
3,猜测会不会和ssh配置有关。
参考:
https://blog.csdn.net/weixin_37251044/article/details/79678871
https://blog.csdn.net/jieCooner/article/details/39205791
https://blog.csdn.net/l297969586/article/details/102499611
试着改了下,发现仍然没有解决问题。这个倒说得通。因为我ssh本身并未断开,估计还是和jupyter或vscode相关,和ssh关系不大。
4,发现vscode之前安装的几个python相关的插件,存在感叹号。卸载一遍重新安装。这些插件包括:Python,Python for VSCode,Python Extension Pack等。重装后仍然未解决。
5,有个哥们碰到的问题应该一样(https://www.v2ex.com/t/643690),可惜没有提供解决办法。
6,当时创建这些联系项目的环境是python 3.7.4,莫非版本不匹配?。用conda创建3.7.4环境并切换环境。仍然不行。
折腾一通没有明显进展,困的不行,重启了服务器去休息。第二天一早再开ipynb,神奇般地可以打开。回顾一下这些动作,感觉第2点的安装jupyter是必须的;第4点的插件重装也许有点用(至少重装后没有感叹号);第6点将3.7.4环境删除,也可打开,说明跟它没什么关系。
后续如果有彻底解决,再更新吧。
vscode 提示消息:Couldn't find kernel 'Python 3.8.1 64-bit ('python381': conda)' that the notebook was created with. Using the current interpreter.
此问题还来不及解决。不过看起来没什么影响。打开ipynb时,会报这个信息。然后vscode苦苦加载,也许会有断线,然后重连个一两次,就打开了。
后面有空再查。先写到这里。