Итак, я несколько дней пытался развернуть на Heroku. Я даже не могу обновить свою учетную запись на Heroku, чтобы задать вопрос, как это сделать.
У меня есть полностью функционирующий эмулируемый проект Django на моем компьютере. Сначала я использовал PythonAnywhere, и мне это понравилось. Пока я не понял, что Braintree не работает, и я не могу загрузить php, он слишком ограничен. У меня с ними галочка.
Поэтому я переехал в Heroku. Проблема с Heroku в том, что я даже не могу загрузить его на сайт. Я подключил его к моему GitHub. Теперь я не могу его загрузить, потому что он отказывается собираться из-за того, что pyodbc не загружается. Я знаю, что это показано sql.h не найден при установке PyODBC на Героку. Создаю новую тему, так как она старая. При этом я пробовал все здесь.
Я думаю, что часть проблемы заключается в том, что у меня нет доступа sudo ни к одному из них. Я попытался войти в систему с паролем учетной записи su, но, видимо, у нас нет такого доступа. Я пробовал собирать пакеты на Heroku, но они, похоже, не хотят работать с библиотекой pyodbc. Я также думал над дополнением к Heroku, но тогда мне все равно пришлось бы изменить много кода.
Есть ли способ для чайников исправить это? Моя сестра, которая много лет работала программистом, не может заставить его работать. Тогда я, новичок, не могу. Таким образом, у нас есть большой спектр опыта между нами. Извините за разглагольствования, я буквально потратил более 40 часов, пытаясь развернуть это.
Running setup.py install for pyodbc: started
Running setup.py install for pyodbc: finished with status 'error'
ERROR: Command errored out with exit status 1:
command: /app/.heroku/python/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ni8r2oow/pyodbc/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ni8r2oow/pyodbc/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-nkt15se7/install-record.txt --single-version-externally-managed --compile --install-headers /app/.heroku/python/include/python3.9/pyodbc
cwd: /tmp/pip-install-ni8r2oow/pyodbc/
Complete output (14 lines):
running install
running build
running build_ext
building 'pyodbc' extension
creating build
creating build/temp.linux-x86_64-3.9
creating build/temp.linux-x86_64-3.9/src
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DPYODBC_VERSION=4.0.30 -I/app/.heroku/python/include/python3.9 -c src/buffer.cpp -o build/temp.linux-x86_64-3.9/src/buffer.o -Wno-write-strings
In file included from src/buffer.cpp:12:
src/pyodbc.h:56:10: fatal error: sql.h: No such file or directory
56 | #include <sql.h>
| ^~~~~~~
compilation terminated.
error: command '/usr/bin/gcc' failed with exit code 1
----------------------------------------
ERROR: Command errored out with exit status 1: /app/.heroku/python/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ni8r2oow/pyodbc/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ni8r2oow/pyodbc/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-nkt15se7/install-record.txt --single-version-externally-managed --compile --install-headers /app/.heroku/python/include/python3.9/pyodbc Check the logs for full command output.
! Push rejected, failed to compile Python app.
! Push failed