2016-12-15 3 views
0

Ich hoffe wirklich, dass mir jemand helfen kann. Ich versuche, einen Django-Server auf einem Windows 10-Computer mit Cygwin zu installieren.Installation von mysqlclient unter Windows mit cygwin für django serevr schlägt auf gcc Fehler

Bis jetzt habe ich es geschafft, den Test serevr laufen zu lassen, und ich möchte es an eine MySql-Server-Instanz mit auf dem Windows-Rechner anschließen. Da ich Python3 bin mit brauche ich den mysqlclient Treiber, wie in der

Django documentation erklärte

versuchte ich es mit pip installieren, aber ich bekomme einen gcc Fehler:

$ pip install mysqlclient 
Collecting mysqlclient 
    Using cached mysqlclient-1.3.9.tar.gz 
Building wheels for collected packages: mysqlclient 
    Running setup.py bdist_wheel for mysqlclient: started 
    Running setup.py bdist_wheel for mysqlclient: finished with status 'error' 
    Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-r0034q8_/mysqlclient/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpv8u4dfwopip-wheel- --python-tag cp34: 
    running bdist_wheel 
    running build 
    running build_py 
    creating build 
    creating build/lib.cygwin-2.6.0-x86_64-3.4 
    copying _mysql_exceptions.py -> build/lib.cygwin-2.6.0-x86_64-3.4 
    creating build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb 
    copying MySQLdb/__init__.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb 
    copying MySQLdb/compat.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb 
    copying MySQLdb/converters.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb 
    copying MySQLdb/connections.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb 
    copying MySQLdb/cursors.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb 
    copying MySQLdb/release.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb 
    copying MySQLdb/times.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb 
    creating build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb/constants 
    copying MySQLdb/constants/__init__.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb/constants 
    copying MySQLdb/constants/CR.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb/constants 
    copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb/constants 
    copying MySQLdb/constants/ER.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb/constants 
    copying MySQLdb/constants/FLAG.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb/constants 
    copying MySQLdb/constants/REFRESH.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb/constants 
    copying MySQLdb/constants/CLIENT.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb/constants 
    running build_ext 
    building '_mysql' extension 
    creating build/temp.cygwin-2.6.0-x86_64-3.4 
    gcc -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/usr/src/ports/python3/python3-3.4.5-1.x86_64/build=/usr/src/debug/python3-3.4.5-1 -fdebug-prefix-map=/usr/src/ports/python3/python3-3.4.5-1.x86_64/src/Python-3.4.5=/usr/src/debug/python3-3.4.5-1 -Dversion_info=(1,3,9,'final',1) -D__version__=1.3.9 -I/usr/include/python3.4m -c _mysql.c -o build/temp.cygwin-2.6.0-x86_64-3.4/_mysql.o "-I/cygdrive/d/tweb/mysql/include/mysql" "/MT" "/Zi" "/O2" "/Ob1" "/D" "NDEBUG" "-DDBUG_OFF" 
    gcc: error: "-I/cygdrive/d/tweb/mysql/include/mysql": No such file or directory 
    gcc: error: "/MT": No such file or directory 
    gcc: error: "/Zi": No such file or directory 
    gcc: error: "/O2": No such file or directory 
    gcc: error: "/Ob1": No such file or directory 
    gcc: error: "/D": No such file or directory 
    gcc: error: "NDEBUG": No such file or directory 
    gcc: error: "-DDBUG_OFF": No such file or directory 
    error: command 'gcc' failed with exit status 1 

    ---------------------------------------- 
    Failed building wheel for mysqlclient 
    Running setup.py clean for mysqlclient 
Failed to build mysqlclient 
Installing collected packages: mysqlclient 
    Running setup.py install for mysqlclient: started 
    Running setup.py install for mysqlclient: finished with status 'error' 
    Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-r0034q8_/mysqlclient/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-0zo72r3z-record/install-record.txt --single-version-externally-managed --compile: 
    running install 
    running build 
    running build_py 
    creating build 
    creating build/lib.cygwin-2.6.0-x86_64-3.4 
    copying _mysql_exceptions.py -> build/lib.cygwin-2.6.0-x86_64-3.4 
    creating build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb 
    copying MySQLdb/__init__.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb 
    copying MySQLdb/compat.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb 
    copying MySQLdb/converters.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb 
    copying MySQLdb/connections.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb 
    copying MySQLdb/cursors.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb 
    copying MySQLdb/release.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb 
    copying MySQLdb/times.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb 
    creating build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb/constants 
    copying MySQLdb/constants/__init__.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb/constants 
    copying MySQLdb/constants/CR.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb/constants 
    copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb/constants 
    copying MySQLdb/constants/ER.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb/constants 
    copying MySQLdb/constants/FLAG.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb/constants 
    copying MySQLdb/constants/REFRESH.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb/constants 
    copying MySQLdb/constants/CLIENT.py -> build/lib.cygwin-2.6.0-x86_64-3.4/MySQLdb/constants 
    running build_ext 
    building '_mysql' extension 
    creating build/temp.cygwin-2.6.0-x86_64-3.4 
    gcc -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/usr/src/ports/python3/python3-3.4.5-1.x86_64/build=/usr/src/debug/python3-3.4.5-1 -fdebug-prefix-map=/usr/src/ports/python3/python3-3.4.5-1.x86_64/src/Python-3.4.5=/usr/src/debug/python3-3.4.5-1 -Dversion_info=(1,3,9,'final',1) -D__version__=1.3.9 -I/usr/include/python3.4m -c _mysql.c -o build/temp.cygwin-2.6.0-x86_64-3.4/_mysql.o "-I/cygdrive/d/tweb/mysql/include/mysql" "/MT" "/Zi" "/O2" "/Ob1" "/D" "NDEBUG" "-DDBUG_OFF" 
    gcc: error: "-I/cygdrive/d/tweb/mysql/include/mysql": No such file or directory 
    gcc: error: "/MT": No such file or directory 
    gcc: error: "/Zi": No such file or directory 
    gcc: error: "/O2": No such file or directory 
    gcc: error: "/Ob1": No such file or directory 
    gcc: error: "/D": No such file or directory 
    gcc: error: "NDEBUG": No such file or directory 
    gcc: error: "-DDBUG_OFF": No such file or directory 
    error: command 'gcc' failed with exit status 1 

    ---------------------------------------- 
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-r0034q8_/mysqlclient/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-0zo72r3z-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-r0034q8_/mysqlclient/ 

D:\tweb\mysql ist, wo die Fenster MySql serevr ist installiert (es ist eine portable Installation)

Die Umgebung ich verwende ist:

$ python --version 
Python 3.4.5 

$ pip --version 
pip 9.0.1 from /usr/lib/python3.4/site-packages (python 3.4) 

$ python -m django --version 
1.10.4 

$ ls -l `which gcc` 
-rwxr-xr-x 3 Stefano None 790035 13 giu 2016 /usr/bin/gcc 

ich andere gcc auch installiert habe rsions aus dem Cygwin-Installer, hier ist alles, was ich jetzt:

$ ls -l /usr/bin/ | grep gcc 
lrwxrwxrwx 1 Stefano None  7 15 dic 16.42 cc -> gcc.exe 
-rwxr-xr-x 1 Stefano None 6707 6 gen 2010 colorgcc 
-rwxr-xr-x 1 Stefano None 71187 13 giu 2016 cyggcc_s-seh-1.dll 
-rwxr-xr-x 3 Stefano None 790035 13 giu 2016 gcc.exe 
-rwxr-xr-x 2 Stefano None 26643 13 giu 2016 gcc-ar.exe 
-rwxr-xr-x 2 Stefano None 26643 13 giu 2016 gcc-nm.exe 
-rwxr-xr-x 2 Stefano None 26643 13 giu 2016 gcc-ranlib.exe 
-rwxr-xr-x 2 Stefano None 731155 24 giu 23.52 i686-pc-cygwin-gcc.exe 
-rwxr-xr-x 2 Stefano None 731155 24 giu 23.52 i686-pc-cygwin-gcc-5.4.0.exe 
-rwxr-xr-x 1 Stefano None 26643 24 giu 23.52 i686-pc-cygwin-gcc-ar.exe 
-rwxr-xr-x 1 Stefano None 26643 24 giu 23.52 i686-pc-cygwin-gcc-nm.exe 
-rwxr-xr-x 1 Stefano None 26643 24 giu 23.52 i686-pc-cygwin-gcc-ranlib.exe 
-rwxr-xr-x 3 Stefano None 790035 13 giu 2016 x86_64-pc-cygwin-gcc.exe 
-rwxr-xr-x 3 Stefano None 790035 13 giu 2016 x86_64-pc-cygwin-gcc-5.4.0.exe 
-rwxr-xr-x 2 Stefano None 26643 13 giu 2016 x86_64-pc-cygwin-gcc-ar.exe 
-rwxr-xr-x 2 Stefano None 26643 13 giu 2016 x86_64-pc-cygwin-gcc-nm.exe 
-rwxr-xr-x 2 Stefano None 26643 13 giu 2016 x86_64-pc-cygwin-gcc-ranlib.exe 
-rwxr-xr-x 2 Stefano None 790547 5 nov 04.19 x86_64-w64-mingw32-gcc.exe 
-rwxr-xr-x 2 Stefano None 790547 5 nov 04.19 x86_64-w64-mingw32-gcc-5.4.0.exe 
-rwxr-xr-x 1 Stefano None 26643 5 nov 04.19 x86_64-w64-mingw32-gcc-ar.exe 
-rwxr-xr-x 1 Stefano None 26643 5 nov 04.19 x86_64-w64-mingw32-gcc-nm.exe 
-rwxr-xr-x 1 Stefano None 26643 5 nov 04.19 x86_64-w64-mingw32-gcc-ranlib.exe 

Ich habe versucht, die anderen GCC-Versionen zu verwenden, indem Sie einen symbolischen Link gcc in /usr/lib zu den anderen gcc.exe s, aber ich bekomme immer die gleiche der gerufene Schaffung gleicher Fehler

Ich habe auch versucht this MinGW compiler wie in this SO vorgeschlagen, aber ich habe einen anderen Fehler (es beschwert sich über die - Wno-unused-result Flagge)

Hat jemand eine Idee? Was mache ich falsch?

EDIT (per Chris Kommentar):

versuchte ich this "possible duplicate" Lösung, aber ich kann nicht die weehls auf Christoph Gohlke's website vorgesehen installieren Ich denke, weil sie für Cygwin nicht dazu gedacht sind. Ich habe auch versucht, Pip dazu zu bringen, es zu akzeptieren; hier ist was Cygwin akzeptieren

$ python 
Python 3.4.5 (default, Oct 10 2016, 14:41:48) 
[GCC 5.4.0] on cygwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pip 
>>> print(pip.pep425tags.get_supported()) 
[('cp34', 'cp34m', 'cygwin_2_6_0_x86_64'), ('cp34', 'abi3', 'cygwin_2_6_0_x86_64'), ('cp34', 'none', 'cygwin_2_6_0_x86_64'), ('cp33', 'abi3', 'cygwin_2_6_0_x86_64'), ('cp32', 'abi3', 'cygwin_2_6_0_x86_64'), ('py3', 'none', 'cygwin_2_6_0_x86_64'), ('cp34', 'none', 'any'), ('cp3', 'none', 'any'), ('py34', 'none', 'any'), ('py3', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')] 

So heruntergeladen ich die Datei mysqlclient‑1.3.9‑cp34‑cp34m‑win_amd64.whl und benannte sie in mysqlclient‑1.3.9‑cp34‑cp34m‑cygwin_2_6_0_x86_64.whl. Es wird gesagt, dass es installiert wurde, so dass ich bearbeitet meinen django settings.py den MySQL Connector zu verwenden:

DATABASES = { 
'default': { 
    'ENGINE': 'django.db.backends.mysql', 
    'NAME': ..., 
    'USER': ..., 
    'PASSWORD': ..., 
    'HOST': 'localhost', 
    'PORT': '3306', 
} 

aber django klagt noch über nicht das mysqldb Modul zu finden:

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named '_mysql' 

EDIT 2 (per Dan -dev Kommentar): ich versuchte libmysqlclient-devel, jetzt die Kompilierung errror sagt zu installieren:

building '_mysql' extension 
    creating build/temp.cygwin-2.6.0-x86_64-3.4 
    gcc -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/usr/src/ports/python3/python3-3.4.5-1.x86_64/build=/usr/src/debug/python3-3.4.5-1 -fdebug-prefix-map=/usr/src/ports/python3/python3-3.4.5-1.x86_64/src/Python-3.4.5=/usr/src/debug/python3-3.4.5-1 -Dversion_info=(1,3,9,'final',1) -D__version__=1.3.9 -I/usr/include/mysql -I/usr/include/python3.4m -c _mysql.c -o build/temp.cygwin-2.6.0-x86_64-3.4/_mysql.o 
    _mysql.c:40:20: fatal error: Python.h: No such file or directory 
    compilation terminated. 
    error: command 'gcc' failed with exit status 1 

ich denke, es gestoppt mit der Windows-Bibliothek und benutzte stattdessen das von Cygwin installierte. Vermisse ich etwas anderes? Vielleicht ein anderer Header?

+0

Mögliche Duplikat [Django 1.10.3 zu MySQL Verbindungs ​​5.7.16] (http://stackoverflow.com/questions/41087806/django-1-10-3- connecting-to-mysql-5-7-16) – Chris

+0

Können Sie zuerst libmysqlclient-devel https://cygwin.com/cygwin/packages/x86/libmysqlclient-devel/ über Cygwin installieren und es erneut versuchen? –

+0

@Chris Danke, dass Sie mich auf diese Antwort hingewiesen haben, ich habe auch versucht, nach den Rädern zu suchen, konnte sie aber nicht finden. Wie auch immer, wenn ich das verwendete, löste ich mein Problem nicht, ich bearbeitete die Frage mit dem, was ich versuchte. – Antiphon0x

Antwort

0

Ok, ich habe es geschafft, dieses Paket zu installieren.

Ich folgte dem Dan-Dev-Kommentar oben und installiere libmysqlclient-devel. Das war in meinem Fall nicht genug, ich musste auch das python-devel Paket installieren.

ich dann den Befehl erneut ausgegeben:

pip install mysqlclient 

und es funktionierte.

Vielen Dank Jungs: D

Verwandte Themen