1

是否可以使用自动安装xmlsec1PySAML2 的要求pip

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

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

4

2 回答 2

1

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

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

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触发构建。

于 2016-03-25T06:16:26.173 回答
0

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

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

这不应该是不可能的,我很想能够输入“pip install xmlsec1”并看到它正在做所有艰苦的工作。不幸的是,到目前为止,没有人为实现它而烦恼。

于 2013-11-15T04:19:33.150 回答