killersdz
V2EX  ›  Django

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

  •  
  •   killersdz · Apr 2, 2019 · 3399 views
    This topic created in 2599 days ago, the information mentioned may be changed or developed.
    如果是,应该怎样同时激活所有环境,如果不是则该怎样部署?
    6 replies    2019-04-04 14:12:09 +08:00
    qq976739120
        1
    qq976739120  
       Apr 2, 2019
    docker 一把梭?
    sandwu
        2
    sandwu  
       Apr 2, 2019
    简单点的做法:对应的项目 source 对应的 virtualenv,切换到不同的项目再 deactivate 和 source~
    killersdz
        3
    killersdz  
    OP
       Apr 2, 2019
    @sandwu 但是我是想不同的项目同时运行
    ynkkdev
        4
    ynkkdev  
       Apr 2, 2019
    如果应用程序 A 需要特定模块的 1.0 版本但应用程序 B 需要 2.0 版本,则需求存在冲突,安装版本 1.0 或 2.0 将导致某一个应用程序无法运行。
    如果你的项目存在上述情况,就应该考虑使用多虚拟环境,并分别激活。
    命令行指定 python 虚拟环境解释器所在路径,来启动项目脚本如:/root/ENVS/py36/bin/python3.6 -u hello.py
    docker 确实也是一个不错的选择
    julyclyde
        5
    julyclyde  
       Apr 3, 2019
    你这个说法有问题
    不叫“都”
    那叫“各”
    sandwu
        6
    sandwu  
       Apr 4, 2019
    @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 &
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4628 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 00:10 · PVG 08:10 · LAX 17:10 · JFK 20:10
    ♥ Do have faith in what you're doing.