【问题标题】:Requirements.txt is much too bigRequirements.txt 太大了
【发布时间】:2015-01-27 22:17:15
【问题描述】:

对于一种 Hello World 应用程序,我在部署到 heroku 之前这样做了:

pip freeze > requirements.txt

并获得了 50 多个依赖项。我认为这很多,即使我已经从 setting.py 中删除了多余的依赖项,所以现在它看起来像:

INSTALLED_APPS = (
    'django.contrib.contenttypes',
    'django.contrib.staticfiles',
    'app1'
)

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware'
)

我还能做什么?

【问题讨论】:

    标签: python django


    【解决方案1】:

    pip freeze 命令适用于您通过pip 实用程序安装的东西。

    它与您放入settings.py 中的已安装应用程序无关。这些只是 Django 使用的应用程序。通过pip安装的包是你的环境使用的python包。

    通过pip 删除包可能会破坏您正在处理的其他项目或其他需要在“全局”环境中安装包的实用程序。 建议您为使用 Python 进行的每个项目使用单独的 virtualenv,因此每个项目都有自己的软件包安装、自己的 pip 实用程序和 python 解释器。

    更多信息在virtualenv: http://docs.python-guide.org/en/latest/dev/virtualenvs/

    【讨论】:

    • 如果项目已经创建了,我可以减少依赖的数量还是必须重新创建?
    • 您可以创建一个virtualenv,只安装当前项目所需的依赖项,并让IDE使用新的virtualenv而不是全局的。
    • 我没有提到IDE,我用的是记事本。
    • 如果您不使用 IDE 而是通过终端窗口编码,请通过该终端激活 virtualenv,然后继续编码..
    • 您需要更深入地了解 virtualenv 的作用 = 它“设置”系统的环境变量以指向某个 python 可执行文件、pip 可执行文件和站点包(不同于全局的)。一旦你激活它,你就在这个环境下工作,你已经存在的项目,当在那个环境下运行时,将使用它的设置。
    猜你喜欢
    • 2020-05-10
    • 2013-05-22
    • 1970-01-01
    • 1970-01-01
    • 2019-08-08
    • 2016-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多