【问题标题】:Duplicate the virtual environment for production复制用于生产的虚拟环境
【发布时间】:2014-09-05 21:38:19
【问题描述】:

这可能是一个愚蠢的问题,但我仍然想问:

我正在使用 Django、CherryPy 和 Nginx 开发一个项目。我注意到通常会创建一个文件requirement.txt 来指示开发环境中安装的包和版本。假设虚拟环境的目录是/home/me/project/python2Venv

当我将我的 Django 项目 (tango) 部署到生产中时,该项目被复制到生产目录:

sudo cp -r /home/me/project/tango /webapps/tango

对于虚拟环境,我可以直接使用下面的命令复制整个目录还是按照requirement.txt将每个包重新安装到生产环境中?

sudo cp -r /home/me/project/python2Venv /webapps/tango/python2Venv

【问题讨论】:

    标签: django nginx cherrypy


    【解决方案1】:

    我认为 virtualenv 在某些文件中使用绝对路径,因此重新创建 env 并通过 requirements.txt 安装包会更安全。

    【讨论】:

      【解决方案2】:

      在我看来,建议使用 requirements.txt 安装软件包。复制目录,最终可能是一场噩梦。

      在更新 1 中说: 你有 4 个包,每个包都有一个特定的版本(pkg1-ver1、pkg2-ver1、pkg3-ver1、pkg-ver1)。

      在更新 2 中: 您已将一个软件包升级到其新版本 (pkg1-ver2)。使用 requirements.txt,您只需升级那个包。而不是复制所有的包(虽然,我不确定目录的复制效果如何)。

      希望这会有所帮助!

      【讨论】:

        【解决方案3】:

        您应该使用文件requirements.txt 安装软件包。

        或者您可以使用virtualenvwrapper。它有助于在本地轻松克隆虚拟环境,例如cpvirtualenvrmvirtualenv等。

        【讨论】:

          猜你喜欢
          • 2019-09-24
          • 2021-07-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-11-05
          • 1970-01-01
          • 2020-08-19
          相关资源
          最近更新 更多