我们可以在生产环境的 Python 虚拟环境中实施我们的 python 项目吗?
Can we implement our python project in Python Virtual Environment for production environment?
问题:
我们有两个不同的 python 服务,它们应该在单个服务器中 运行。我们有依赖冲突的地方。假设 项目 A 需要模块 - 旧版本,而 项目 B 需要相同的模块,但版本较新。
为了隔离,我们发现 Python 虚拟环境 将解决此问题。
But the real question for me is the Virtual environment will be stable
and accepted on the production level usage.
或者有没有其他方法可以解决这个问题。
在生产中使用虚拟环境是完全可以接受的。事实上,它经常受到鼓励,因为它将确保对其中一个项目的 Python 包的任何更新都不会破坏另一个项目。
一个好的替代方法是为每个项目使用单独的 Docker 容器。
是的,你可以
您可以为第一个服务创建虚拟环境,其中 python 版本将不同,而对于第二个服务,您可以使用不同的 python 版本。
您可以在服务的 运行 路径中设置这些环境(例如在我们用于 运行 进程的主管中)
[program:service1]
command=path_to_virtualenv_for_service1 python service1.py
[program:service2]
command=path_to_virtualenv_for_service2 python service2.py
问题: 我们有两个不同的 python 服务,它们应该在单个服务器中 运行。我们有依赖冲突的地方。假设 项目 A 需要模块 - 旧版本,而 项目 B 需要相同的模块,但版本较新。
为了隔离,我们发现 Python 虚拟环境 将解决此问题。
But the real question for me is the Virtual environment will be stable and accepted on the production level usage.
或者有没有其他方法可以解决这个问题。
在生产中使用虚拟环境是完全可以接受的。事实上,它经常受到鼓励,因为它将确保对其中一个项目的 Python 包的任何更新都不会破坏另一个项目。
一个好的替代方法是为每个项目使用单独的 Docker 容器。
是的,你可以 您可以为第一个服务创建虚拟环境,其中 python 版本将不同,而对于第二个服务,您可以使用不同的 python 版本。 您可以在服务的 运行 路径中设置这些环境(例如在我们用于 运行 进程的主管中)
[program:service1] command=path_to_virtualenv_for_service1 python service1.py
[program:service2] command=path_to_virtualenv_for_service2 python service2.py