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

Configuring Visual Studio Code for remote Python interpreter via SSH

提问人:Ουιλιαμ Αρκευα 提问时间:10/25/2018 更新时间:3/8/2019 访问量:12626

问:

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

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

提前致谢。

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

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

python 配置 visual-studio-code 远程调试 ssh-tunnel

评论


答:

1赞 verified.human 1/18/2019 #1

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

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

cat hello_world.py | ssh user@hostname python - 

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

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

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

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

remote-pytorch train_network.py

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

5赞 Ουιλιαμ Αρκευα 3/8/2019 #2

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

第 1 步:挂载您的远程主文件夹。

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

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

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

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

{
    "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 步:享受编程。不客气。