关于配置:通过SSH为远程Python解释器配置Visual Studio Code

Configuring Visual Studio Code for remote Python interpreter via SSH

我有一个带有ArchLinux和Python的Vagrant框,每个项目使用一个虚拟环境(通过使用某个Python版本)。 我希望配置VSC来运行/调试这些Python项目。 我已经安装了包含我的项目的目录(使用sshfs),所以我不必担心同步。

使用PyCharm时,配置仅在其IDE中。 如何使用SSH为VSC配置它? 使用Python需要其他哪些插件?

提前致谢。

PS1:PyCharm是一个很棒的工具,但它占用大量资源,RAM接近1GB。

PS2:我已经阅读了这篇文章,但对我来说还不清楚,一个例子更有用。


使用Pydev和RSE Server在远程Linux机器上定义远程解释器一文非常有用,现在看来如此显而易见。这是我使用自己的系统配置的解决方法:

步骤1:安装远程主文件夹。

1
$ sshfs -o password_stdin,transform_symlinks vagrant@localhost:/home/vagrant ~/Vagrant/archi02/Remote/ -p 2222 <<<"your_vagrant_password"

步骤2:使用VSC打开您的项目文件夹。

1
~/Vagrant/archi02/Remote/Projects/Python_3_7_2/QuickPythonBook/

步骤3:为远程Python和linter配置" settings.json"(来自WorkSpace设置)。

1
2
3
4
5
{
   "python.pythonPath":"~/Vagrant/archi02/Remote/Projects/Python_3_7_2/QuickPythonBook/ve_qpb/bin/python3.7",
   "python.linting.pylintEnabled": true,
   "python.linting.pylintPath":"pylint"
}

步骤4:享受编程。别客气。


编辑:我在这里对此问题写了一个新的和改进的答案:vscode python远程解释器

使用VScode终端,您可以使用以下命令通过SSH在远程计算机上运行Python代码:

1
cat hello_world.py | ssh user@hostname python -

您可以将其添加为您的VSCode构建任务,其中${file}指向当前文件。如果需要在VScode中进行远程调试,则可以阅读以下步骤:code.visualstudio.com/docs/python/debugging#_remote-debugging

此外,您还可以在.bashrc.zshrc文件中创建aliasfunction,这使得在远程计算机(可能在virtualenv中)上执行文件更加方便。例如,我的.zshrc文件包含以下函数,以在远程virtualenv中的工作站上执行Python文件:

1
2
3
function remote-pytorch () {
    cat $1 | ssh user@hostname 'source ~/virtualenv/pytorch/bin/activate && python -'
}

这样,我只需运行以下命令即可远程执行脚本:

1
remote-pytorch train_network.py

(注意:.bashrc文件中函数的语法略有不同)