2017-04-19 30 views
0

我想在Heroku上託管我的Bottle應用程序。該應用使用OpenCV。Heroku上的Python OpenCV定製buildpack的問題

我已經嘗試使用自定義buildpacks可用,但我得到以下錯誤和應用程序崩潰。

2017-04-19T16:46:56.977606+00:00 heroku[web.1]: Process exited with status 1 
2017-04-19T16:46:56.861136+00:00 app[web.1]: ImportError: No module named site 
2017-04-19T16:46:56.992302+00:00 heroku[web.1]: State changed from starting to crashed 

試圖在link解決方案和指針有,但沒能解決它

創建日誌does not看起來更讓人信服:

Python + OpenCV + Numpy + Scipy app detected 
cp: ‘/tmp/build_23d686801ba84fdb080f034e9c7976a5/.heroku/python’ and ‘/app/.heroku/python’ are the same file 
-----> Generating environment 
     Fetching... 
     Unpacking... 
bzip2: (stdin) is not a bzip2 file. 
tar: Child returned status 2 
tar: Error is not recoverable: exiting now 
-----> Found requirements.txt, installing dependencies using pip 
/app/tmp/buildpacks/6d14a3412dcdb0901c57e73e48ec9af7391889a6a8ae9eafff2088dea5ddcd7dc5f2da12110056dc6e443347c536c173b8187008e003291c29f8a6d30faa87a1/bin/compile: line 84: /app/.heroku/vendor/bin/pip: No such file or directory 
-----> Creating environment variables. 
-----> Buildpack installed. 
-----> Discovering process types 
     Procfile declares types -> web 
-----> Compressing... 
     Done: 41.7M 
-----> Launching... 
     Released v6 
     https://tncs.herokuapp.com/ deployed to Heroku 

請幫幫忙!

回答

0

我有一個類似的問題,我認爲問題是opencv是一個需要下載,解壓縮和編譯heroku纔可以使用的庫。你是否使用openkuv的heroku構建包?如果是這樣,您可以考慮切換到另一個間接使用opencv的構建包。

我切換到anaconda構建包,我的opencv燒瓶應用程序現在可以工作。看一看!

https://github.com/kennethreitz/conda-buildpack

此版本包允許你指定一個暢達,requirements.txt文件,您可以使用包括OpenCV的。我跟着

的步驟部署的OpenCV的Heroku的應用程序是:

創建一個Web應用程序並將其鏈接到一個Heroku的項目

  1. Heroku的buildpacks:添加https://github.com/kennethreitz/conda-buildpack
  2. 添加一個名爲「文件conda-requirements.txt「添加到您的Web應用程序所在的同一目錄中,並將」opencv「添加到文件中。
  3. 部署應用程序和檢查,以確保Heroku的是給你 像這樣的輸出:

遠程:#包在環境中/app/.heroku/miniconda:

遠程:#

遠程:OpenCV的3.1.0 np112py27_1

,如果它不工作,檢查Heroku的日誌,以確保該問題與構建包。如果你只是試圖讓opencv工作,只使用這個anaconda構建包,不要添加任何其他構建包。希望有所幫助!