问题: 我们有两个不同的python服务,应在单个服务器上运行。我们有依赖冲突的地方。说项目A 需要模块-旧版本,而项目B 需要相同的模块,但是版本较新。
为了隔离,我们发现 Python虚拟环境将解决此问题。
但是对我来说,真正的问题是虚拟环境将稳定 并接受生产级别的使用。
或者我们还有其他方法可以解决该问题。
答案 0 :(得分:0)
在生产中使用虚拟环境是完全可以接受的。实际上,通常会鼓励这样做,因为它将确保对一个项目的Python软件包进行的任何更新都不会破坏另一个项目。
一个不错的选择是为每个项目使用单独的Docker容器。
答案 1 :(得分:0)
是的,你可以 您可以为第一个服务(其中python版本会有所不同)创建虚拟环境,而对于第二个服务,则可以使用不同的python版本。 您可以在服务的运行路径中设置这些环境(例如,在我们用于运行流程的主管中)
[program:service1] command = path_to_virtualenv_for_service1 python service1.py
[program:service2] command = path_to_virtualenv_for_service2 python service2.py