在Docker开发环境中丰富的编辑器

2024-05-15 05:21:05 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我和我的团队已经购买了Docker——它对于部署和测试来说非常棒。我真正的问题是如何建立良好的开发体验,特别是编写Python应用程序,但是这个问题可以推广到nodejs、Java等

问题是:在编写一个Python应用程序时,我真的很喜欢有像样的linting/autocomplete功能,有一些非常好的编辑器(Atom、VSCode、PyCharm)提供了这些功能,但大多数都希望在本地磁盘上安装Python。Docker的真正优势是所有的核心语言和任何项目库都可以放在容器中,因此在主机上复制所有的核心语言和项目库只是为了开发是一件痛苦的事情。

我知道PyCharm pro确实支持Docker和Docker compose,但我发现它相当迟缓,很多测试运行功能都被破坏了。除此之外,我真的很想得到一些我可以提交给版本控制的东西,这样团队就可以共享开发设置,人们就不必为自己的系统重复所有步骤。

我有几个想法:

  1. 在sidecar Docker容器中安装编辑器(如Atom),并使用X11转发
  2. 在容器中使用基于浏览器的编辑器(如https://c9.io/),这似乎是最有前途的
  3. 在一个可以处理自动完成/linting等的开发容器中安装一些代理,并从本地运行的编辑器连接到它-我认为这是最好的解决方案,但我也认为现在它实际上并不存在。

除了增加容量和编辑文本之外,是否有人能够幸运地建立一个更高效的开发环境?


Tags: 项目docker功能语言应用程序核心部署nodejs
1条回答
网友
1楼 · 发布于 2024-05-15 05:21:05

您应该使用类似IntelliJ(Pycharm)的“高级”IDE,并使用SSH访问App Docker容器来配置一个remote Python SDK(使用共享SSH密钥对预先安装的openssh服务器和预配置的授权密钥文件的App容器进行身份验证)。 您可以在项目文件中与所有开发人员共享此SDK信息,这样他们就可以立即完成此设置

1)这将确保IDE在运行时知道docker容器中可用/安装的所有PythonLib/符号。它还将使您能够同时正确地远程调试

2)这确保了,你手上有一个IDE,包括许多重要的附加功能,如inspector、3way duff、search in path。在这一点上,几乎没有一个基于浏览器的ide能赶上Pycharm

当然,正如注释中已经提到的,您需要共享aka将您的代码装载到容器中。在linux上,您可以直接使用主机卷从本地src文件夹装载到容器。

在OSX上,使用主机装载时会遇到性能问题。你可以使用类似http://docker-sync.io(我有偏见-还有很多类似的工具)

相关问题 更多 >

    热门问题