2017-04-19 1 views
0

Heroku에서 내 Bottle 애플리케이션을 호스팅하려고합니다.이 애플리케이션은 OpenCV를 사용합니다.Python OpenCV 커스텀 buildpack on Heroku

사용할 수있는 사용자 지정 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의 솔루션이 포인터를 시도했지만 :

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에서 다운로드하여 압축을 풀고 컴파일해야하는 라이브러리라는 점이 문제라고 생각합니다. opencv 용 heroku 빌드 팩을 사용하고 있습니까? 그렇다면 간접적으로 opencv를 사용하는 다른 빌드 팩으로 전환하는 것이 좋습니다.

아나콘다 빌드 팩으로 전환했는데 이제 내 opencv 플라스크 앱이 작동합니다. 보세요!

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

이 빌드 팩은 당신이 OpenCV의를 포함하는 데 사용할 수있는 CONDA-requirements.txt 파일을 지정할 수 있습니다.

  1. 에게 Heroku의 buildpacks 웹 응용 프로그램을 작성하고 Heroku가 프로젝트에 연결 : "라는 파일을 추가 https://github.com/kennethreitz/conda-buildpack
  2. 를 추가

    단계는 내가 않던 OpenCV의 Heroku가 응용 프로그램을 배포하는 다음 conda-requirements.txt "를 웹 응용 프로그램과 동일한 디렉토리에 저장하고 파일에"opencv "를 추가하십시오.

  3. 앱을 배포하고 Heroku가 출력 당신에게이 같은 뭔가를주고 있는지 확인하십시오 : 원격

    : /app/.heroku/miniconda에서 환경에서 # 패키지 :

리모컨을 : 원격 #

: OpenCV의 3.1.0 np112py27_1

가 작동하지 않을 경우, 반드시 문제가 빌드 팩입니다 확인하기 위해 Heroku가 로그를 확인. opencv를 작동시키려는 경우에만이 anaconda 빌드 팩을 사용하고 다른 빌드 팩은 추가하지 마십시오. 희망이 도움이됩니다!