【问题标题】:Installing pysaml2 with pip - the xmlsec1 requirement使用 pip 安装 pysaml2 - xmlsec1 要求
【发布时间】:2013-09-25 17:06:16
【问题描述】:

是否可以使用 pip 自动安装 PySAML2 的 xmlsec1 要求?

当前项目需要很多包,并且都使用 pip 和 requirements.txt 文件安装。我现在正在启动 SAML SSO 实施并需要安装 PySAML2。但是,所有文档都指出需要安装 xmlsec1 作为要求,而 pip install 没有安装它。

是否可以使用pip 安装xmlsec1?我看到 PIL 和 pycrypto 可以成功安装外部库,所以我想知道为什么不能使用 pip 安装 xmlsec1 作为 PySAML2 依赖项的一部分。

【问题讨论】:

    标签: python saml saml-2.0


    【解决方案1】:

    在 Heroku 上启动并运行 python3-saml 或 PySAML2 需要一些额外的工作:这两个包都依赖于 python-xmlsec,它依赖于 xmlsec1-dev linux 包的头文件才能正确安装。

    首先,您需要将apt buildpack 添加到您的构建服务器:

    heroku buildpacks:set --index=1 -a your-app https://github.com/ABASystems/heroku-buildpack-apt
    heroku buildpacks:set --index=2 -a your-app https://github.com/ABASystems/heroku-buildpack-python
    

    您可以使用heroku buildpacks -a your-app 确认已按正确顺序添加了构建包,您应该首先看到 apt buildpack,然后是 python buildpack。

    然后将Aptfile 添加到包含libxmlsec1-dev 包的存储库的根目录中,文件应如下所示:

    libxmlsec1-dev
    

    最后,将 python3-saml 添加到您的 requrements.txt 和 git push 以触发构建。

    【讨论】:

      【解决方案2】:

      有人需要创建一个包含 xmlsec1 二进制文件的 pypi 包。 这样的包还不存在,因为它是:

      1. 非常不自然 - xmlsec1 是 C 应用程序,而不是 python 库
      2. 很难 - 它必须是跨平台的,这在 C 应用程序中比在 Python 中更麻烦
      3. python 绑定应该围绕 xmlsec1 编写,以使包至少与 pypi 有点相关。

      这不应该是不可能的,我希望能够输入“pip install xmlsec1”并看到它完成所有艰苦的工作。不幸的是,到目前为止没有人费心去实现它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-11
        • 1970-01-01
        • 2021-11-26
        • 1970-01-01
        • 1970-01-01
        • 2019-06-21
        • 1970-01-01
        相关资源
        最近更新 更多