2013-09-25 107 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觸發構建。