社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

在VS Code中进行远程Python开发

Python程序员 • 7 年前 • 628 次点击  

今天在PyCon 2019大会上,微软的Python和Visual Studio Code团队宣布了在Visual Studio Code中进行远程开发这一功能,这让Visual Studio Code开发者可以远程地在运行在docker容器、远程SSH主机和Linux的Windows 子系统中的开发设置环境中运行他们的代码和工具,而你仍然可以在本地获得丰富和无缝的用户体验。


这项支持目前在Visual Studio Code内部构建版本中是可用的,并由Visual Studio Code市场中的三个新远程扩展启用:


  • Remote-Containers:  在本地docker容器内运行的工作区中进行开发

  • Remote-SSH: 通过一个SSH连接来在运行在远程主机上的工作区中进行开发

  • Remote-WSL: 在Windows中的Linux子系统内运行的工作区中进行开发 


要开始下载这个远程扩展包,请查看Visual Studio Code Remote文档,然后立即开始! 快速查看下面的视频进行浏览,并继续阅读了解更多!



能够使用WSL和远程Python解释器一直是我们的Python Extension GitHub页面上请求最多的特性。我们从Python用户那里听说了许多需要在远程工作区中工作的不同原因: 在使用SSH的情况下,他们的代码需要访问大量数据、计算、GPU或其他资源; 使用Docker时,他们需要能够在具有复杂依赖关系的开发环境之间进行创建和切换; 使用WSL时,他们可能需要只适用于Linux环境的工具和包。

通过远程开发,我们已经使用远程Python解释器和其他工具启用了所有这些场景及其他场景:  Visual Studio Code的UI运行在你的本地机器上,并连接到一个远程托管你扩展的远程服务器。这也启用了自动补全、调试、终端、源代码控制、安装扩展等功能,几乎Visual Studio Code中的所有内容都可以在远程机器上无缝运行,你就像在本地开发工作区工作一样。


远程Docker工作区和Dev容器


Docker容器是创建可重用开发环境的一种流行方法,你无需在本地机器上安装复杂的依赖项。这还允许新的团队成员通过安装docker并在Visual Studio Code中打开你的工作区来复制你的环境。


 “Remote - Containers”扩展允许Visual Studio Code使用dev容器的概念在此开发环境中无缝运行。Dev容器由一个.devcontainer文件夹中的文件定义,它会告诉Visual Studio Code如何为该工作区创建一个Docker环境。你可以使用一个Dockerfile来创建一个单个容器或一个运行多个容器的docker-compose.yml。


要开始在docker容器中进行开发,请运行Remote-Containers: Open Folder in Containers…命令,然后浏览到本地机器上的一个文件夹。如果在工作区根目录中找到一个.devcontainer文件夹,Visual Studio Code将使用现有的dev容器定义来创建该dev容器。


如果容器定义不存在,系统将提示你为该工作区创建一个新的dev容器。我们为Python开发人员提供了内置定义,让你可以从Python 2/3、Python3+Postgres、Miniconda和Anaconda开始:



一旦你打开一个dev容器,Visual Studio Code将创建该docker镜像,然后安装一个轻量级远程服务器,瞧,你现在就可以在dev容器中编码了! 远程服务器允许Visual Studio Code远程地运行扩展,这样几乎所有的功能都会像在本地环境中一样工作。

你的文件是以卷挂载到容器中的,所以你可以打开文件,开始编辑代码,并获得智能感知和自动完成:



你可以开始调试,设置断点,并逐步运行代码:



你可以在Python互动窗口中运行单元格和查看图形输出:



并且当你打开终端时,你使用的是容器内的终端!



除了创建和使用dev容器定义,你还可以使用Docker扩展,并在一个容器上右击,选择Attach Visual Studio Code来将Visual Studio Code附加到任何运行的docker容器上:



当附加到一个现有容器时,你可能会丢失Visual Studio Code使用的一些依赖项,因此如果你遇到问题,请检查我们的vscode-dev-containers 仓库中的示例容器定义,以便将依赖项添加到你的Dockerfile。


如果你想返回到正常的本地视图,你可以运行Remote-Containers: Reopen Folder Locally命令。你的所有更改都将通过一个卷挂载驱动器保存到你的工作区,因此可以在本地视图中使用。


远程 SSH 工作区


Python开发人员的另一个常见设置是,他们的开发环境运行在远程机器上,这通常是因为远程机器可以访问本地机器上不可用的资源或数据集。与docker场景类似,你可以使用“Remote-SSH”扩展在一个SSH连接上打开远程工作区。


开始之前,首先确保你可以从命令行ssh到远程机器,然后运行Remote-SSH: New Window命令,并输入你的目标ssh主机:



如果你配置了SSH主机,它们将随时在远程SSH活动栏可用,以便轻松连接:



Visual Studio Code将重新打开,然后在SSH主机上安装远程服务器。然后,你可以在这个远程机器上打开一个文件夹:



然后你就可以立即开始编辑和调试代码了! 在这种情况下,任何源代码都不需要是本地的,所有编辑和调试功能都由远程服务器提供。



远程WSL 工作区


Linux的Windows子系统允许你运行Windows中运行的本机Linux bash shell,类似于其他场景。“Remote-WSL”扩展允许Visual Studio Code UI在你的windows桌面运行,而Visual Studio Code 远程服务器则在Linux子系统中运行扩展。


要开始使用Remote WSL,请运行Remote-WSL: New Window命令:




然后,它将安装Visual Studio Code远程服务器,并为你提供一个运行在WSL上下文中的新的Visual Studio Code窗口。


你可以点击Open Folder...,它会允许你在这个Linux文件系统中打开一个文件夹:



或者,你可以通过从wsl提示符输入“code-insiders .”命令来直接在WSL中打开一个文件夹。


然后,你就可以像在其他远程开发环境中一样来创建文件、编辑代码、打开WSL终端和进行调试:



现在开始吧


我们对这次更新为Python开发人员在Visual Studio Code中解锁的功能感到兴奋,要使用这些功能,请查看Visual Studio Code Remote文档,并/或试用我们的一些示例应用程序:


  • Python hello world 示例

  • 推特应用程序: Django + Postgres

  • Anaconda 容器


请记得在我们的vscode-remote-release GitHub页面上提交问题,让我们知道关于远程扩展的任何问题或反馈。



英文原文:https://devblogs.microsoft.com/python/remote-python-development-in-visual-studio-code/ 
译者:好酒不上头
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/35852