一个项目的三个模块依赖三个不同的虚拟环境
A project's three module rely on three different virtual environment
现在我有一个项目,我认为它可以分为三个不同的模块,如下所示。
project
│ README.md
│
└───flask_web
│ └───app_folder
│ | └─── ...
| | └─── ...
| | | __init__.py
| |
│ │ app_run.py
│ └───venv
│ └──bin
|
│
└───Fate
| └─── ...
| └───env
| └───python36
| └───venv
| └───bin
|
└───fake_data_algorithm
└─── ...
└───venv
└───bin
第一部分'web'是一个提供web服务的flask应用,它需要一个虚拟环境。
第二部分'fate'是一个联邦学习的开源项目,也需要一个虚拟的environment.If我想启动联邦学习过程的系统,我要源码'fate/bin/init_env.sh'激活提供环境。
第三部分'fake_data_algorithm'用于根据'data'文件夹生成假数据,部分python包也需要虚拟环境
因为 'web' 应用程序从浏览器收到请求后,它会调用
'fate' or 'fake_data_algorithm', 但他们都在不同的虚拟环境中,所以我应该重新获取环境。
有一点很费解me:Is有一个机制可以让整个项目保持运行without switching the virtual environment
。而且因为“命运”是一个比较接近的部分,所以我想保持尽可能'fate'的虚拟环境(尽量避免将所有python包放在项目下的单个环境中)。
Something really puzzles me:Is there a mechanism that can enable the
whole project keep running without switching the virtual
environment.And because the "fate" is a relatively close part, I want
to keep the virtual environment of 'fate' as far as possible(try to
avoid put all the python packages in a single environment under
project).
当您在 CLI 中输入命令时,切换虚拟环境只是一个舒适的功能。您不必手动切换虚拟环境。
您可以编写一个小的批处理脚本来执行您的项目:
#!/bin/sh
cd /home/username/project/flask_web &&
./venv/bin/python ./app_run.py
这会将工作目录设置为 /home/username/project/flask_web
(重要...)并使用工作目录的虚拟环境来执行您的项目。
根据您的IDE,您还可以select在项目设置中使用Python Interpreter/Virtual 环境。
因此,在您的 IDE 中,您可以打开多个项目,但它们都使用不同的 Python 解释器和库。
现在我有一个项目,我认为它可以分为三个不同的模块,如下所示。
project
│ README.md
│
└───flask_web
│ └───app_folder
│ | └─── ...
| | └─── ...
| | | __init__.py
| |
│ │ app_run.py
│ └───venv
│ └──bin
|
│
└───Fate
| └─── ...
| └───env
| └───python36
| └───venv
| └───bin
|
└───fake_data_algorithm
└─── ...
└───venv
└───bin
第一部分'web'是一个提供web服务的flask应用,它需要一个虚拟环境。
第二部分'fate'是一个联邦学习的开源项目,也需要一个虚拟的environment.If我想启动联邦学习过程的系统,我要源码'fate/bin/init_env.sh'激活提供环境。
第三部分'fake_data_algorithm'用于根据'data'文件夹生成假数据,部分python包也需要虚拟环境
因为 'web' 应用程序从浏览器收到请求后,它会调用 'fate' or 'fake_data_algorithm', 但他们都在不同的虚拟环境中,所以我应该重新获取环境。
有一点很费解me:Is有一个机制可以让整个项目保持运行without switching the virtual environment
。而且因为“命运”是一个比较接近的部分,所以我想保持尽可能'fate'的虚拟环境(尽量避免将所有python包放在项目下的单个环境中)。
Something really puzzles me:Is there a mechanism that can enable the whole project keep running without switching the virtual environment.And because the "fate" is a relatively close part, I want to keep the virtual environment of 'fate' as far as possible(try to avoid put all the python packages in a single environment under project).
当您在 CLI 中输入命令时,切换虚拟环境只是一个舒适的功能。您不必手动切换虚拟环境。
您可以编写一个小的批处理脚本来执行您的项目:
#!/bin/sh
cd /home/username/project/flask_web &&
./venv/bin/python ./app_run.py
这会将工作目录设置为 /home/username/project/flask_web
(重要...)并使用工作目录的虚拟环境来执行您的项目。
根据您的IDE,您还可以select在项目设置中使用Python Interpreter/Virtual 环境。 因此,在您的 IDE 中,您可以打开多个项目,但它们都使用不同的 Python 解释器和库。