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

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

  •  
  •   killersdz · 2019-04-02 11:03:52 +08:00 · 2571 次点击
    这是一个创建于 2054 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如果是,应该怎样同时激活所有环境,如果不是则该怎样部署?
    6 条回复    2019-04-04 14:12:09 +08:00
    qq976739120
        1
    qq976739120  
       2019-04-02 11:23:51 +08:00
    docker 一把梭?
    sandwu
        2
    sandwu  
       2019-04-02 11:41:31 +08:00
    简单点的做法:对应的项目 source 对应的 virtualenv,切换到不同的项目再 deactivate 和 source~
    killersdz
        3
    killersdz  
    OP
       2019-04-02 11:44:28 +08:00
    @sandwu 但是我是想不同的项目同时运行
    youngce
        4
    youngce  
       2019-04-02 11:45:47 +08:00
    如果应用程序 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-04-03 14:26:41 +08:00
    你这个说法有问题
    不叫“都”
    那叫“各”
    sandwu
        6
    sandwu  
       2019-04-04 14:12:09 +08:00
    @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   ·   实用小工具   ·   980 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:55 · PVG 04:55 · LAX 12:55 · JFK 15:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.