我正在完成安装和配置Superset应用程序的过程。 (Flask应用程序,允许实时切片和分析业务数据。)
谈到Python虚拟环境时,我已阅读了大量文章和操作指南,并了解了如何将软件包安装到虚拟环境中以保持应用程序整齐包含的概念。 / p>
既然我正在为(内部)生产用途准备这个应用程序,我是否需要在我的upstart脚本中启动gunicorn之前激活虚拟环境?或者虚拟环境更适合用于开发并为我的应用程序安装/更新包? (在这种情况下,我可以在没有激活virtualenv
的额外步骤的情况下发射炮弹。)
我会感谢任何提示,因为我试图了解virtualenv
如何在日常生产中使用和维护应用程序。
答案 0 :(得分:1)
您应该像在开发计算机上一样在生产服务器上激活virtualenv。它允许您在受控环境中在同一台计算机上运行多个Python应用程序。无需担心一个virtualenv中的软件包更新会导致另一个软件包出现问题。
如果我可以提出建议。我非常喜欢使用virtualenvwrapper来简化virtualenvs的使用。它允许您定义钩子,例如:使用$VIRTUAL_ENV/bin/
中的脚本进行预激活,后激活,预激活和后激活。它是设置Python应用程序可以使用的环境变量的好地方。
过程控制的一个好而简单的工具是supervisord。