[问题] 请问如何在bash script启动pyenv虚拟环境

楼主: 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
作者: lycantrope (阿宽)   2021-12-06 14:23:00
先eval "$(pyenv init -)"启动pyenv?
楼主: chang0206 (Eric Chang)   2021-12-06 14:30:00
感恩一楼!似乎可行 我研究一下怎么写 谢谢!
作者: lycantrope (阿宽)   2021-12-06 14:41:00
楼主: chang0206 (Eric Chang)   2021-12-06 14:55:00
用bash执行可以,但是用supervisor去呼叫这个script还是会出错,继续研究中...
作者: f496328mm (为什么会流泪)   2021-12-06 16:51:00
用 pipenvpipenv run python以上可以同时启动 虚拟环境 + python + 读取.env我以前也用 supervisor,之后改成 docker
作者: TitanEric (泰坦)   2021-12-06 20:06:00
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就好
作者: lycantrope (阿宽)   2021-12-08 08:44:00
嗯,不用启动虚拟环境,直接抓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
作者: f416720001 (Gemini翔)   2020-01-10 19:34:00
为未来人补个conda环境解法,bash档照常写,启动时采用bash -i script.sh

Links booklink

Contact Us: admin [ a t ] ucptt.com