[問題] 請問二個虛擬環境間的變數溝通

看板Python作者 (metrics is everything@@)時間4月前 (2024/08/03 00:20), 4月前編輯推噓6(605)
留言11則, 7人參與, 4月前最新討論串1/1
請問各位大大, 我有一個既有的web_service_a.py,是在venv_a下執行, 目前處理3種function呼叫服務,就當是func1, func2 ,func3好了, 現在,在同一台機器裡, 需要再加一個func4,但這個func4當初是在venv_b下開發。 因為二個虛擬環境很多版本差異,已經放棄整合二個虛擬環境, 請問,除了把func4做成獨立服務web_service_b.py呼叫(或許配合docker), 把總入口放在web_service_a.py,遇到呼叫func4再轉call web_service_b外, 有沒有其他方法可以解? chatgpt曾建議我使用multiprocessing's Pipe或Queue, 但是因為需要使用不同的venv,這種解法都會遇到配合subprocessing.run() 去呼叫虛擬環境python+py檔一起使用, 但是subprocess.run()似乎無法傳遞pipe或queue (至少它給的範例是不能run1的) 我目前還在看multiprocessing的文件, 但是看起來沒什麼頭緒, 所以想先請教大家, Pipe或Queue是有機會解的嗎,還是真只能再做出web_serice_b? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.58.96.80 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1722615629.A.D7E.html

08/03 09:23, 4月前 , 1F
MQTT?
08/03 09:23, 1F
對耶!好像可試試messageQ,謝謝:) ※ 編輯: HerryL (61.58.96.80 臺灣), 08/03/2024 15:22:55

08/04 03:42, 4月前 , 2F
pipe是指subprocess.PIPE嗎
08/04 03:42, 2F

08/04 09:57, 4月前 , 3F
寫成http api怎麼樣
08/04 09:57, 3F

08/05 20:36, 4月前 , 4F
只有兩個 process ,做成 restful API 供呼叫。或是用 ze
08/05 20:36, 4F

08/05 20:36, 4月前 , 5F
romq 就不用有中間的 broker
08/05 20:36, 5F

08/06 13:36, 4月前 , 6F
ZeroMQ
08/06 13:36, 6F

08/06 22:44, 4月前 , 7F
最簡單的做法是 b 做成 executable 給 a call; 再來就是
08/06 22:44, 7F

08/06 22:44, 4月前 , 8F
用 unix socket 串; 再來再考慮別的 rpc 或直接 rest api
08/06 22:44, 8F

08/06 22:44, 4月前 , 9F
用不用 mq 要先考慮有沒有 realtime 需求
08/06 22:44, 9F

08/09 12:36, 4月前 , 10F
用socket 來做應該最簡單,不然開api學一下flask快速開
08/09 12:36, 10F

08/09 12:36, 4月前 , 11F
出簡易後端,兩個就可以直接溝通了
08/09 12:36, 11F
文章代碼(AID): #1chGTDr- (Python)
文章代碼(AID): #1chGTDr- (Python)