現在我有一個專案,我認為它可以分為三個不同的模塊,如下所示。
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'是聯邦學習的開源專案,也需要一個虛擬環境。如果我想啟動聯邦學習程序的系統,我必須源'fate/bin/init_env.sh'來激活提供環境。
第三部分'fake_data_algorithm'用于根據'data'檔案夾生成假資料,這也需要一些python包的虛擬環境。
因為“web”應用程式從瀏覽器獲取請求后,它會呼叫“fate”或“fake_data_algorithm”,但它們都在不同的虛擬環境中,所以我應該再次獲取環境。
真正讓我困惑的是:有沒有一種機制可以讓整個專案一直運行下去without switching the virtual environment。而且因為“fate”是一個比較接近的部分,所以我想盡可能地保留“fate”的虛擬環境(盡量避免把專案下單個環境中的所有python包)。
uj5u.com熱心網友回復:
真正讓我困惑的是:有沒有一種機制可以讓整個專案在不切換虛擬環境的情況下繼續運行。而且因為“fate”是一個比較接近的部分,所以我想盡可能地保留“fate”的虛擬環境(盡量避免將所有python包放在專案下的單個環境中)。
當您在 CLI 中輸入命令時,切換虛擬環境只是一個舒適的功能。您不必手動切換虛擬環境。
您可以撰寫一個小批量腳本來執行您的專案:
#!/bin/sh
cd /home/username/project/flask_web &&
./venv/bin/python ./app_run.py
這會將作業目錄設定為/home/username/project/flask_web(重要...)并使用作業目錄的虛擬環境來執行您的專案。
根據您的 IDE,您還可以在專案設定中選擇要使用的 Python 解釋器/虛擬環境。因此,在您的 IDE 中,您可以打開多個專案,但它們都使用不同的 Python 解釋器和庫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/475633.html
