作者:
chang0206 (Eric Chang)
2021-12-06 14:11:38最近在測試一個django app
在一般狀況下,我可以用user 帳號登入 ssh 切換到工作目錄
然後用 pyenv activate venv_name 啟動虛擬環境
安裝好套件之後,啟動gunicorn 把django site 叫起來.
可是把這些指令寫成bash script 之後,就無法正常啟動了
script 大概長這樣
#!/bin/bash
pyenv activate .ve
pyenv exec gunicorn config.wsgi:application
先eval "$(pyenv init -)"啟動pyenv?
作者:
chang0206 (Eric Chang)
2021-12-06 14:30:00感恩一樓!似乎可行 我研究一下怎麼寫 謝謝!
作者:
chang0206 (Eric Chang)
2021-12-06 14:55:00用bash執行可以,但是用supervisor去呼叫這個script還是會出錯,繼續研究中...
用 pipenvpipenv run python以上可以同時啟動 虛擬環境 + python + 讀取.env我以前也用 supervisor,之後改成 docker
shebang #/bin/bash改指向虛擬環境中的python路徑也可以
作者:
gomi (勾億郎)
2021-12-07 13:51:00我是直接用指定環境的 python 去執行 script
作者:
chang0206 (Eric Chang)
2021-12-07 13:54:00改shebang 有用喔?等等來測試看看,謝謝。另外,我們就是從pipenv 跳過來pyenv 的..
作者: roccqqck (ccqq) 2021-12-08 08:29:00
絕對路徑指定pip跟python就好
嗯,不用啟動虛擬環境,直接抓python絕對路徑去跑
作者: roccqqck (ccqq) 2021-12-08 16:35:00
python3.9 -m venv ~/.local/venvs/myenv~/.local/venvs/myenv/bin/python3 --version~/.local/venvs/myenv/bin/pip list
為未來人補個conda環境解法,bash檔照常寫,啟動時採用bash -i script.sh