Ich benutze eine heroku App und verwende pyODBC.pyodbc Installation auf dem Heroku Server Fehler Befehl "gcc" ist fehlgeschlagen mit Exit status 1 - Django Projekt
Ich bekomme diesen Fehler, wenn ich versuche, Pyodbc auf meinem Heroku-Server zu installieren.
Das gleiche passiert, wenn ich pyodbc in die Datei requirements.txt putte.
Ich verstehe einfach nicht, was aus diesem Fehler zu tun ist, und ich kann nicht finden, wie Befehle wie sudo apt-get auf dem Heroku-Server durch die Windows heroku toolbelt zu verwenden.
Dies ist der Fehlerprozess.
C:\Users\mads\businesszone>heroku run pip install pyodbc
Running pip install pyodbc on businesszone... up, run.9537
Collecting pyodbc
Downloading pyodbc-3.0.10.tar.gz (68kB)
100% |████████████████████████████████| 71kB 4.3MB/s
Installing collected packages: pyodbc
Running setup.py install for pyodbc ... error
Complete output from command /app/.heroku/python/bin/python -u -c "import se
tuptools, tokenize;__file__='/tmp/pip-build-jJIUQ3/pyodbc/setup.py';exec(compile
(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file_
_, 'exec'))" install --record /tmp/pip-J0_eAS-record/install-record.txt --single
-version-externally-managed --compile:
running install
running build
running build_ext
building 'pyodbc' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/tmp
creating build/temp.linux-x86_64-2.7/tmp/pip-build-jJIUQ3
creating build/temp.linux-x86_64-2.7/tmp/pip-build-jJIUQ3/pyodbc
creating build/temp.linux-x86_64-2.7/tmp/pip-build-jJIUQ3/pyodbc/src
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstr
ict-prototypes -fPIC -DPYODBC_VERSION=3.0.10 -DPYODBC_UNICODE_WIDTH=2 -I/Applica
tions/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacO
SX10.8.sdk/usr/include -I/app/.heroku/python/include/python2.7 -c /tmp/pip-build
-jJIUQ3/pyodbc/src/cnxninfo.cpp -o build/temp.linux-x86_64-2.7/tmp/pip-build-jJI
UQ3/pyodbc/src/cnxninfo.o -Wno-write-strings
cc1plus: warning: command line option `-Wstrict-prototypes' is valid for C/O
bjC but not for C++ [enabled by default]
In file included from /tmp/pip-build-jJIUQ3/pyodbc/src/cnxninfo.cpp:8:0:
/tmp/pip-build-jJIUQ3/pyodbc/src/pyodbc.h:52:17: fatal error: sql.h: No such
file or directory
#include <sql.h>
^
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
Command "/app/.heroku/python/bin/python -u -c "import setuptools, tokenize;__fil
e__='/tmp/pip-build-jJIUQ3/pyodbc/setup.py';exec(compile(getattr(tokenize, 'open
', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --r
ecord /tmp/pip-J0_eAS-record/install-record.txt --single-version-externally-mana
ged --compile" failed with error code 1 in /tmp/pip-build-jJIUQ3/pyodbc/
Ich habe auch versucht, einige der alten Pyodbc Version durch Pip und thorugh der zip aus dem alten Google Code Projekt zu installieren: https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/pyodbc/pyodbc-3.0.7.zip
UPDATE :: Sie müssen Mach dein eigenes Heroku Buildpack. siehe Bild
Haben Sie jemals eine Lösung dafür gefunden? – whieronymus
@whieronymus siehe update – MadsVJ
Danke @MadsVJ hast du es eingerichtet und läuft? Ich endete mit einem alternativen Buildpack und Treiber, die ich auf der Heroku Buildpacks Seite gefunden habe. Ich sah dort keinen, der für unixodbc/pyodbc arbeitete, aber es gab einen für freeTDS/pymssql (https://elements.heroku.com/buildpacks/m1schka/heroku-buildpack-python). Ich testete die Pymssql-Bibliothek und die api/Funktionalität war (fast) identisch mit pyodbc. Also portierte ich meinen vorhandenen Code (nur eine kleine Klasse wirklich) von pyodbc nach pymssql, installierte das Buildpack und bin nun betriebsbereit. – whieronymus