gpt4 book ai didi

python - 如何运行具有模块的代码,每个模块都在不同的 virtualenv 中?

转载 作者:行者123 更新时间:2023-12-05 07:23:06 27 4
gpt4 key购买 nike

短篇小说:

我有一个非常大的python项目

它由
ServiceAServiceBServiceC等。

为了模块化,每个服务都有自己的虚拟环境。
每个服务都需要来自其他服务的一些 foo()

ServiceA import package_a
ServiceB import package_b
ServiceC import package_c
等等。

我不想为所有服务做一个单一的环境,因为这会使维护非常麻烦。

在保持模块化的同时集成此类项目以协同工作的好方法是什么?


长话短说:

我有一个非常大的项目,有 25 个以上的大模块相互通信。
它们都使用一个单一的、非常大的环境来处理所有依赖项。

已经到了升级一个模块中的包会(而且经常会)破坏其他模块的地步。
Pycharm 的索引也比它应该花费的时间长得多。
在新机器上安装包比它应该花费的时间要长得多
最糟糕的当然是害怕升级,因为破坏一切的可能性增加。

大多数模块只需要所有已安装包的一个子集。

所有这些都在 python 2.7 中,我们想升级到 python 3,由于项目大小,这不能一次完成。
出于业务目的和可测试性目的,我们必须一次迁移一个模块,同时在此过程中维护系统功能。

我相信这需要一些模块有自己的解释器,同时仍然以某种方式与其他模块一起工作。


如何实现?

最佳答案

我认为 Pycharm 中没有术语“模块”,如下面的屏幕截图所示。我们能做的就是在项目下添加多个文件夹。但是,python解释器只能绑定(bind)到项目中,不能绑定(bind)到每个文件夹。

Pycharm ScreenShot

关于python - 如何运行具有模块的代码,每个模块都在不同的 virtualenv 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56208687/

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