是否可以通过Visual Studio Code使用远程ssh解释器运行本地python脚本?
我在一个远程Linux服务器机器上有一个python项目,我想将代码复制到我的本地机器上,并通过远程python解释器对其进行调试,以及它对数据库等的所有访问和权限。
发布于 2021-06-14 11:14:54
如果您能够在远程服务器上安装rmate
,则可以使用Remote VSCode。
为此,扩展的文档描述了,您为扩展配置VS代码用户设置,使用Remote: Start server
从命令面板启动扩展的服务器,使用ssh -R 52698:localhost:52698 user@example.com
转发的远程端口打开到远程服务器的ssh连接,然后在远程服务器上运行rmate -p 52698 <file>
。
这将导致指定的文件在本地VS代码编辑器中打开,并且在保存后不久,对该文件所做的任何更改都将反映在远程服务器上的副本中。
或者,您可以使用sshfs
挂载远程目录,就像它是本地目录一样。这是我现在使用本地编辑器编辑远程文件的首选方法。在使用apt的系统上,您可以使用apt install sshfs
安装apt。在使用yum的系统上,您可以使用yum install fuse-sshfs
安装它。
安装完成后,创建一个本地目录,您将在其中挂载远程目录。在本例中,我们将其命名为/mnt/remote
。继续使用sshfs挂载它:
sshfs -o allow_other,default_permissions user@example.com:<src dir> /mnt/remote
其中,<src dir>
是您希望本地访问的远程目录的绝对路径。
如果您使用的是密钥授权,则在default_permissions
之后添加IdentityFile=/home/$USER/.ssh/id_rsa
选项。
您可能需要调整/mnt/remote
的权限,并对上面列出的所有命令使用sudo
。
Many other options are detailed in the man pages。还可以考虑使用large_read
来提高效率,使用reconnect,ServerAliveInterval=5,ServerAliveCountMax=15
来提高可靠性。
一旦sshfs
命令成功,您应该会发现可以作为本地目录/mnt/remote
访问远程目录。要在本地编辑远程目录的内容,只需使用code /mnt/remote
打开VS代码到该目录,并进行编辑,就像所有本地目录一样!保存远程文件后,您所做的更改将很快反映在远程文件中。
发布于 2021-06-13 19:01:42
您可以使用Remote SSH扩展拥有一个完全远程的开发环境来访问您的远程服务器。目前,这是最方便的选择。我猜你已经知道这个扩展了。我已经用了大约一年了,它对我来说很好。“重启”问题很可能与"Amazon Linux“(基于CentOS)内核和内存不足问题有关。确保您有大于4 4Gb的可用内存(在远程机器上),因为VSCode至少会“吃掉”1 4Gb。一旦内存不足,远程机器很可能就会挂起。如果你仍然有问题,试着换成基于Ubuntu的内核。
另一种选择是在远程机器上运行Jupyter Lab/Notebook。这将允许您在本地浏览器窗口中编辑、运行和调试代码。(您必须保持远程上的一些端口打开,并使用ssh -L
选项进行连接)。
另一种可能的解决方案是使用诸如Sync-Rsync或Remote VSCode之类的扩展来同步/编辑本地VSCode实例中的远程代码,或者可以使用任何基于图形用户界面的SSH客户机在本地编辑远程代码。但是这样你就失去了远程运行/调试的能力。
我还会提到,PyCharm (需要专业版)能够在本地编辑文件,然后在远程同步和运行/调试。
https://stackoverflow.com/questions/66981317
复制相似问题