【问题标题】:Why shouldn't I push a virtualenv to Heroku?为什么我不应该将 virtualenv 推送到 Heroku?
【发布时间】:2015-07-09 11:10:22
【问题描述】:

在线教程告诉我将venv 放入我的.gitignore 文件中。为什么我不想推送我的虚拟环境,以便我或其他开发人员可以轻松地将项目拉到他们的本地并方便地拥有所有依赖项?

【问题讨论】:

    标签: python django git heroku virtualenv


    【解决方案1】:

    除了 Othman 所说的之外,virtualenvs 根本就是不可移植的。试图移动它会破坏它,并且创建一个新环境比修复它更容易。因此,即使在使用虚拟环境的部署平台上,将它们签入 git 也无法正常工作。

    【讨论】:

      【解决方案2】:

      virtualenv 是一个创建隔离 Python 环境的工具。

      Heroku 为您提供了一个环境,您可以使用 Heroku 为 Django 应用程序所需的 requirements.txt 安装包。

      如果您想与其他开发人员共享这些依赖项,请使用另一个远程到 github。并推送你的requirements.txt

      然后告诉您的开发人员使用此文件安装软件包。

      例子

      requirements.txt

      Django==1.3
      Fabric==1.2.0
      Jinja2==2.5.5
      PyYAML==3.09
      

      一次性安装这些软件包:

      pip install -r /path/to/requirements.txt

      此外,当您在本地计算机上运行应用程序时,虚拟环境文件可能会发生变化,这会使将无用的东西推送到您的存储库。

      注意:如果您想知道虚拟环境中安装了哪些软件包,请使用pip freeze

      如果你想将包导出到requirements.txt 然后运行

      pip freeze > requirements.txt

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-03-02
        • 1970-01-01
        • 2018-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多