如何指定脚本中的 Python 模块执行时的 virtualenv?

2017-05-11 17:44:45 +08:00
 pirates
假设有一个 example.sh 文件,里面有一行‘ flask run ’,并且指定了 FLASK_APP。该文件用于启动运行 flask 项目,但终端执行’ sh example.sh'时,即使激活了 virtualenv,项目的运行环境还是系统默认的 python 环境,请问如何指定为特定的 virtualenv ?
2963 次点击
所在节点    Python
10 条回复
kier
2017-05-11 17:56:12 +08:00
一般不是 env/bin/python app.py 么?
Cooky
2017-05-11 18:12:18 +08:00
在脚本里加 active 啊,还能怎么办 - -|||
est
2017-05-11 18:16:13 +08:00
不用激活 venv。直接指定 venv 所在 python 路径即可。

比如 source /my_path/venv/bin/activate; python xxx.py 改为:

/my_path/venv/bin/python xxx.py 即可。自动 venv 了。
whwq2012
2017-05-11 19:04:48 +08:00
难道不是写解释器的绝对路径就可以了吗
pirates
2017-05-11 19:43:58 +08:00
@Cooky 在脚本中 source 激活 virtualenv 就行,一直在终端激活,谢谢!
pirates
2017-05-11 19:56:32 +08:00
@kier
@est 这样也行。由于整个项目都要在指定环境下运行,所以就直接在脚本中增加一行‘ source venv/bin/activate ’
mxi1
2017-05-11 20:45:20 +08:00
运行的时候把配置相关的事情都丢给 uwgi 之类的服务嘛
julyclyde
2017-05-11 22:45:02 +08:00
不需要 activate
直接用 virtualenv “里面”的 python 来执行就可以了
( scl/pyenv 除外)
zhengxiaowai
2017-05-11 22:47:40 +08:00
$YOUR_PAROJECT_PATH/venv/bin/python app.py
lgpqdwjh
2017-05-12 13:07:00 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/360690

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX