gpt4 book ai didi

python - 使用 vagrant 作为开发环境的一部分

转载 作者:太空宇宙 更新时间:2023-11-03 12:08:05 28 4
gpt4 key购买 nike

我正在研究将 vagrant 添加到我的开发环境的方法。我的大部分 Web 开发都是用 python 进行的,我对与 python 相关的细节很感兴趣,但是这个问题更笼统。

我喜欢将所有与开发相关的东西隔离在虚拟机中的想法,但我还没有找到一种有效的方法来使用它。基本上,我看到了 3 种设置方法:

  1. 所有服务(例如数据库服务器、MQ 等)以及正在开发的应用程序都可以在 VM 中运行。开发人员将通过 ssh 连接到 VM 并在那里编辑源代码、运行应用程序、测试等,所有这些都在 ssh 终端中进行。

  2. 与 1) 相同,但使用普通 GUI 编辑器在主机上的映射目录中编辑源代码。通过 ssh 在 vagrant 上运行应用程序和测试。这似乎是使用 vagrant 最流行的方式。

  3. 仅在 VM 中托管外部服务。将应用程序依赖项安装到主机上的 virtualenv 中,并从那里运行应用程序和测试。

所有这些方法都有其自身的缺陷:

  1. 在文本控制台中开发太不方便了,这对我来说是个阻碍。虽然我是经验丰富的 ViM 用户并且可以接受它,但我不能向习惯于在任何图形 IDE 中工作的任何人推荐这种方法。

  2. 您可以使用熟悉的工具进行开发,但不能使用自动完成功能,因为所有 python 库都安装在 VM 中。您的回溯将指向非本地文件。您将无法在编辑器中打开库源代码,ctags 将不起作用。

  3. 失去大部分“隔离”功能:您必须自己安装所有编译器、*-dev 库才能安装 python 依赖项并运行应用程序。在 Linux 上这很容易,但在 OSX 上设置它们可能要困难得多,在 Windows 上我猜这几乎是不可能的。

那么,问题是:对于第2和第3种方法的问题,有什么补救措施吗?更具体地说,如何创建一个隔离且易于复制的环境,同时享受在主机上开发的所有舒适体验?

最佳答案

在大多数 IDE 中,您可以添加项目外部的“库”路径,以便您的代码完成等工作。关于回溯,我不熟悉 python,但这听起来像是通过服务器和开发机器之间的“映射”路径解决的问题。这通常是为什么 #2 通常是要走的路的原因(除非你有一个团队愿意做 #1)。

关于python - 使用 vagrant 作为开发环境的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20433712/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com