【问题标题】:Best way to include third party dependencies in Python app在 Python 应用程序中包含第三方依赖项的最佳方法
【发布时间】:2014-02-16 17:39:11
【问题描述】:

为应用分发依赖项的最佳方式是什么?

假设我想发布一个依赖于 SqlAlchemy 的应用程序 - 有没有一种干净的方法可以在我的存储库中包含 SqlAlchemy 而无需强制用户安装它?

【问题讨论】:

    标签: python python-2.7 virtualenv


    【解决方案1】:

    社区标准是使用pip 包管理器和requirements file

    例如

    SQLAlchemy>=0.9.8
    

    这将强制安装版本高于或等于0.9.8 的 SQLAlchemy。

    如果您想以独立方式分发您的代码,您可以考虑为第 3 方包创建单独的目录并扩展 PYTHONPATH 环境变量。

    export PYTHONPATH=$PYTHONPATH:/path/to/3rdpartypackages/

    【讨论】:

      【解决方案2】:

      虽然它会强制用户安装它,但我建议为此使用 pip 需求文件。 (http://www.pip-installer.org/en/latest/user_guide.html#requirements-files)

      对于这个特定的问题,文件可以像一行一样简单:

      SQLAlchemy
      

      通常,您应该在此文件中指定您依赖的版本号。 如果您不希望用户安装东西,因为您担心污染他们的主要安装,我会考虑为此使用 VirtualEnv (http://www.virtualenv.org/en/latest/) - 这是为 Django 项目分发依赖项的推荐方法至少。

      【讨论】:

        猜你喜欢
        • 2013-08-30
        • 1970-01-01
        • 2014-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-23
        • 2011-05-25
        • 1970-01-01
        相关资源
        最近更新 更多