2013-09-25 66 views
1

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

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

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

回答

0

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

  1. 很不自然 - xmlsec1是C应用程序,而不是蟒蛇LIB
  2. 硬 - 它是跨平台,在C应用程序更多的麻烦比在Python
  3. python绑定应该写在xmlsec1附近,至少与pypi相关。

这不应该是不可能的,我很乐意能够输入“pip install xmlsec1”,并看到它做了所有的努力工作。不幸的是,迄今为止没有人对执行它感到困扰。

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 

可以确认buildpacks已按照正确的顺序被添加heroku buildpacks -a your-app,你应该看到易buildpack第一其次是python buildpack。

然后添加一个Aptfile到含有libxmlsec1-dev包版本库的根目录,文件应该是这样的:

libxmlsec1-dev 

最后,添加python3-SAML你requrements.txt和git push触发构建。