Python 将 webapp 部署到 raspberry pi 时使用 virtualenv?

Python virtualenv when deploying webapp to raspberry pi?

我有一个使用 django 制作的 Web 应用程序,我需要将其部署到许多 raspberry pi 设备上。我正在使用 ansible 自动部署到设备。在开发应用程序时,我使用 pipenv 在虚拟环境中管理我的项目依赖项。

我的问题是,部署时是否有必要在实际的 raspberry pi 设备上创建一个虚拟环境,或者我可以只在系统环境中安装所有必要的包吗?在设备上制作虚拟环境有什么好处?

谢谢。

将应用程序的依赖项与系统的依赖项分开总是一个好主意。开销很小,可以防止将来出现问题。如果您需要,它可以更轻松地拆除和重建您的应用程序,而不是在出现任何问题时可能不得不重新映像 raspberry pi。这也意味着您可以 运行 在 pi 上分离不需要 运行 相同软件包版本的应用程序,如果您想这样做的话。

但是,不使用它当然是可能的,您可能会侥幸逃脱并且没有任何问题。但是,如果您想提高应用程序和 pi 的可靠性和可维护性,并考虑到设置和使用的简单性,不使用它似乎是一个糟糕的设计决定。