V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
killersdz
V2EX  ›  Django

请问,多项目部署到服务器,是要将不同的 virtualenv 都激活起来吗?

  •  
  •   killersdz · 2019 年 4 月 2 日 · 3179 次点击
    这是一个创建于 2491 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如果是,应该怎样同时激活所有环境,如果不是则该怎样部署?
    6 条回复    2019-04-04 14:12:09 +08:00
    qq976739120
        1
    qq976739120  
       2019 年 4 月 2 日
    docker 一把梭?
    sandwu
        2
    sandwu  
       2019 年 4 月 2 日
    简单点的做法:对应的项目 source 对应的 virtualenv,切换到不同的项目再 deactivate 和 source~
    killersdz
        3
    killersdz  
    OP
       2019 年 4 月 2 日
    @sandwu 但是我是想不同的项目同时运行
    ynkkdev
        4
    ynkkdev  
       2019 年 4 月 2 日
    如果应用程序 A 需要特定模块的 1.0 版本但应用程序 B 需要 2.0 版本,则需求存在冲突,安装版本 1.0 或 2.0 将导致某一个应用程序无法运行。
    如果你的项目存在上述情况,就应该考虑使用多虚拟环境,并分别激活。
    命令行指定 python 虚拟环境解释器所在路径,来启动项目脚本如:/root/ENVS/py36/bin/python3.6 -u hello.py
    docker 确实也是一个不错的选择
    julyclyde
        5
    julyclyde  
       2019 年 4 月 3 日
    你这个说法有问题
    不叫“都”
    那叫“各”
    sandwu
        6
    sandwu  
       2019 年 4 月 4 日
    @killersdz 额?一定要同时运行?可以先后后台运行,比如 A 项目,假设环境用 pyenv 来管理启动 uwsgi 项目,可以 onhup 启动:nohup /root/.pyenv/versions/3.6.4/env/bin/uwsgi --ini uwsgi.ini &;然后 cd 到 B 项目目录:nohup /root/.pyenv/versions/2.7.12/env/bin/uwsgi --ini uwsgi.ini &
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1004 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 22:04 · PVG 06:04 · LAX 14:04 · JFK 17:04
    ♥ Do have faith in what you're doing.