python/django: сбой при развертывании на героку

Я пытаюсь развернуть приложение к героку. Это приложение python/django, и оно отлично работает на моей локальной машине.

При развертывании heroku загружает пакеты, определенные в файле require.txt, но затем перестает жаловаться на qpython не может быть построен, потому что не может найти numpy, Но из вывода журнала видно, что numpy загружается и устанавливается ДО qpython.

Единственное, о чем я мог подумать, - это то, что в журналах на самом деле написано "Сбор" и "Загрузка", но не явно "Установка"... Может ли быть так, что герою это удается, и сборка qpython происходит до установки numpy? Это странное предположение, но единственное, о чем я мог подумать. В любом случае, я не знаю и не знаю, что делать.

Я определил Python как Python 2.7.12 в runtime.txt.

$ git push heroku-dev django6_12:master
Counting objects: 21, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (20/20), done.
Writing objects: 100% (21/21), 1.99 KiB | 0 bytes/s, done.
Total 21 (delta 16), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
/*...more output omitted for brevity */
remote: -----> Python app detected
remote: -----> Installing python-2.7.12
remote: -----> Noticed cffi. Bootstrapping libffi.
remote:      $ pip install -r requirements.txt
/*...more output omitted for brevity */
remote:        Collecting nodeenv==0.7.2 (from -r requirements.txt (line 36))
remote:          Downloading nodeenv-0.7.2.tar.gz
remote:        Collecting numpy==1.8.1 (from -r requirements.txt (line 37))
remote:          Downloading numpy-1.8.1-cp27-cp27m-manylinux1_x86_64.whl (14.6MB)
remote:        Collecting pandas==0.14.0 (from -r requirements.txt (line 38))
remote:          Downloading pandas-0.14.0.zip (7.3MB)
/*...more output omitted for brevity 
**Note how numpy is being installed** */
remote:        Collecting qpython==1.0.0 (from -r requirements.txt (line 112))
remote:          Downloading qPython-1.0.0.zip (75kB)
remote:            Complete output from command python setup.py egg_info:
remote:            Traceback (most recent call last):
remote:              File "<string>", line 1, in <module>
remote:              File "/tmp/pip-build-NoEaTG/qpython/setup.py", line 19, in <module>
remote:                import numpy
remote:            ImportError: No module named numpy
remote:            
remote:            ----------------------------------------
remote:        Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-NoEaTG/qpython/
remote:  !     Push rejected, failed to compile Python app.



$ git push heroku-dev django6_12:master
Counting objects: 21, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (20/20), done.
Writing objects: 100% (21/21), 1.99 KiB | 0 bytes/s, done.
Total 21 (delta 16), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
/*...more output omitted for brevity */
remote: -----> Python app detected
remote: -----> Installing python-2.7.12
remote: -----> Noticed cffi. Bootstrapping libffi.
remote:      $ pip install -r requirements.txt
/*...more output omitted for brevity */
remote:        Collecting nodeenv==0.7.2 (from -r requirements.txt (line 36))
remote:          Downloading nodeenv-0.7.2.tar.gz
remote:        Collecting numpy==1.8.1 (from -r requirements.txt (line 37))
remote:          Downloading numpy-1.8.1-cp27-cp27m-manylinux1_x86_64.whl (14.6MB)
remote:        Collecting pandas==0.14.0 (from -r requirements.txt (line 38))
remote:          Downloading pandas-0.14.0.zip (7.3MB)
/*...more output omitted for brevity 
**Note how numpy is being installed** */
remote:        Collecting qpython==1.0.0 (from -r requirements.txt (line 112))
remote:          Downloading qPython-1.0.0.zip (75kB)
remote:            Complete output from command python setup.py egg_info:
remote:            Traceback (most recent call last):
remote:              File "<string>", line 1, in <module>
remote:              File "/tmp/pip-build-NoEaTG/qpython/setup.py", line 19, in <module>
remote:                import numpy
remote:            ImportError: No module named numpy
remote:            
remote:            ----------------------------------------
remote:        Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-NoEaTG/qpython/
remote:  !     Push rejected, failed to compile Python app.

1 ответ

Решение

Как говорится, вам нужно установить numpy (он не устанавливается на heroku с pip).

Вы должны использовать buildpack для установки numpy на ваше приложение heroku:

https://github.com/thenovices/heroku-buildpack-scipy

Другие вопросы по тегам