Как мне подключить мой проект Django к MySql с помощью Windows? - PullRequest
1 голос
/ 10 июля 2020

Я пытаюсь подключить свой проект Django к базе данных MySQL, но столкнулся с рядом проблем. Я попытался запустить панель управления Xampp и запустить там службу, но получил это сообщение об ошибке ...

18:55:35  [mysql]   Attempting to start MySQL app...
18:55:35  [mysql]   Status change detected: running
18:55:39  [mysql]   Status change detected: stopped
18:55:39  [mysql]   Error: MySQL shutdown unexpectedly.
18:55:39  [mysql]   This may be due to a blocked port, missing dependencies,
18:55:39  [mysql]   improper privileges, a crash, or a shutdown by another method.
18:55:39  [mysql]   Press the Logs button to view error logs and check
18:55:39  [mysql]   the Windows Event Viewer for more clues
18:55:39  [mysql]   If you need more help, copy and post this
18:55:39  [mysql]   entire log window on the forums
19:15:09  [mysql]   Problem detected!
19:15:09  [mysql]   Port 3306 in use by "Unable to open process"!
19:15:09  [mysql]   MySQL WILL NOT start without the configured ports free!
19:15:09  [mysql]   You need to uninstall/disable/reconfigure the blocking application
19:15:09  [mysql]   or reconfigure MySQL and the Control Panel to listen on a different port

Я также пытался установить mysqlclient через терминал, однако это привело к следующей огромной ошибке. ..

Collecting mysqlclient
  Using cached mysqlclient-2.0.1.tar.gz (87 kB)
Building wheels for collected packages: mysqlclient
  Building wheel for mysqlclient (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: 'c:\users\administrator\appdata\local\programs\python\python38-32\python.exe' -u -c          
'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Administrator\\AppData\\Local
\\Temp    \\pip-install-g0c19c79\\mysqlclient\\setup.py'"'"'; __file__='"'"'C:\\Users
\\Administrator\\AppData\\Local\\Temp\\pip-install-g0c19c79\\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 'C:\Users\Administrator\AppData\Local\Temp\pip-wheel-
er48j2t7'
   cwd: C:\Users\Administrator\AppData\Local\Temp\pip-install-g0c19c79\mysqlclient\
  Complete output (29 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win32-3.8
  creating build\lib.win32-3.8\MySQLdb
  copying MySQLdb\__init__.py -> build\lib.win32-3.8\MySQLdb
  copying MySQLdb\_exceptions.py -> build\lib.win32-3.8\MySQLdb
  copying MySQLdb\connections.py -> build\lib.win32-3.8\MySQLdb
  copying MySQLdb\converters.py -> build\lib.win32-3.8\MySQLdb
  copying MySQLdb\cursors.py -> build\lib.win32-3.8\MySQLdb
  copying MySQLdb\release.py -> build\lib.win32-3.8\MySQLdb
  copying MySQLdb\times.py -> build\lib.win32-3.8\MySQLdb
  creating build\lib.win32-3.8\MySQLdb\constants
  copying MySQLdb\constants\__init__.py -> build\lib.win32-3.8\MySQLdb\constants
  copying MySQLdb\constants\CLIENT.py -> build\lib.win32-3.8\MySQLdb\constants
  copying MySQLdb\constants\CR.py -> build\lib.win32-3.8\MySQLdb\constants
  copying MySQLdb\constants\ER.py -> build\lib.win32-3.8\MySQLdb\constants
  copying MySQLdb\constants\FIELD_TYPE.py -> build\lib.win32-3.8\MySQLdb\constants
  copying MySQLdb\constants\FLAG.py -> build\lib.win32-3.8\MySQLdb\constants
  running build_ext
  building 'MySQLdb._mysql' extension
  creating build\temp.win32-3.8
  creating build\temp.win32-3.8\Release
  creating build\temp.win32-3.8\Release\MySQLdb
  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314
\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Dversion_info=(2,0,1,'final',0) 
-D__version__=2.0.1 "-IC:\Program Files (x86)\MySQL\MySQL Connector C 6.1\include\mariadb" 
-Ic:\users\administrator\appdata\local\programs\python\python38-32\include -Ic:\users
\administrator\appdata\local\programs\python\python38-32\include "-IC:\Program Files 
(x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include" /TcMySQLdb
/_mysql.c /Fobuild\temp.win32-3.8\Release\MySQLdb/_mysql.obj /Zl /D_CRT_SECURE_NO_WARNINGS
  _mysql.c
  MySQLdb/_mysql.c(29): fatal error C1083: Cannot open include file: 'mysql.h': No such file or 
directory
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools
\\MSVC\\14.24.28314\\bin\\HostX86\\x86\\cl.exe' failed with exit status 2
  ERROR: 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 ... error
    ERROR: Command errored out with exit status 1:
     command: 'c:\users\administrator\appdata\local\programs\python\python38-32\python.exe' -u 
-c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Administrator\\AppData
\\Local\\Temp\\pip-install-g0c19c79\\mysqlclient\\setup.py'"'"'; __file__='"'"'C:\\Users
\\Administrator\\AppData\\Local\\Temp\\pip-install-g0c19c79\\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 'C:\Users\Administrator\AppData\Local\Temp\pip-
record-as59yxwj\install-record.txt' --single-version-externally-managed --compile --install-
headers 'c:\users\administrator\appdata\local\programs\python\python38-32\Include\mysqlclient'
         cwd: C:\Users\Administrator\AppData\Local\Temp\pip-install-g0c19c79\mysqlclient\
    Complete output (29 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-3.8
    creating build\lib.win32-3.8\MySQLdb
    copying MySQLdb\__init__.py -> build\lib.win32-3.8\MySQLdb
    copying MySQLdb\_exceptions.py -> build\lib.win32-3.8\MySQLdb
    copying MySQLdb\connections.py -> build\lib.win32-3.8\MySQLdb
    copying MySQLdb\converters.py -> build\lib.win32-3.8\MySQLdb
    copying MySQLdb\cursors.py -> build\lib.win32-3.8\MySQLdb
    copying MySQLdb\release.py -> build\lib.win32-3.8\MySQLdb
    copying MySQLdb\times.py -> build\lib.win32-3.8\MySQLdb
    creating build\lib.win32-3.8\MySQLdb\constants
    copying MySQLdb\constants\__init__.py -> build\lib.win32-3.8\MySQLdb\constants
    copying MySQLdb\constants\CLIENT.py -> build\lib.win32-3.8\MySQLdb\constants
    copying MySQLdb\constants\CR.py -> build\lib.win32-3.8\MySQLdb\constants
    copying MySQLdb\constants\ER.py -> build\lib.win32-3.8\MySQLdb\constants
    copying MySQLdb\constants\FIELD_TYPE.py -> build\lib.win32-3.8\MySQLdb\constants
    copying MySQLdb\constants\FLAG.py -> build\lib.win32-3.8\MySQLdb\constants
    running build_ext
    building 'MySQLdb._mysql' extension
    creating build\temp.win32-3.8
    creating build\temp.win32-3.8\Release
    creating build\temp.win32-3.8\Release\MySQLdb
    C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314
\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Dversion_info=(2,0,1,'final',0) 
-D__version__=2.0.1 "-IC:\Program Files (x86)\MySQL\MySQL Connector C 6.1\include\mariadb" 
-Ic:\users\administrator\appdata\local\programs\python\python38-32\include -Ic:\users
\administrator\appdata\local\programs\python\python38-32\include "-IC:\Program Files 
(x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include" /TcMySQLdb
/_mysql.c /Fobuild\temp.win32-3.8\Release\MySQLdb/_mysql.obj /Zl /D_CRT_SECURE_NO_WARNINGS
    _mysql.c
    MySQLdb/_mysql.c(29): fatal error C1083: Cannot open include file: 'mysql.h': No such file 
or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools
\\MSVC\\14.24.28314\\bin\\HostX86\\x86\\cl.exe' failed with exit status 2
----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\administrator\appdata\local\programs
\python\python38-32\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = 
'"'"'C:\\Users\\Administrator\\AppData\\Local\\Temp\\pip-install-g0c19c79\\mysqlclient
\\setup.py'"'"'; __file__='"'"'C:\\Users\\Administrator\\AppData\\Local\\Temp\\pip-install-
g0c19c79\\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 'C:\Users\Administrator\AppData\Local\Temp\pip-
record-as59yxwj\install-record.txt' --single-version-externally-managed --compile --install-
headers 'c:\users\administrator\appdata\local\programs\python\python38-32\Include\mysqlclient' 
Check the logs for full command output.

Ответы [ 2 ]

0 голосов
/ 10 июля 2020
  1. Ваш сервер MySQL не может быть запущен, поскольку порт 3306 используется другим приложением. Поэтому, пожалуйста, проверьте порт 3306 и завершите процесс, который использует этот порт, прежде чем запускать службу MySQL.

  2. Не могли бы вы загрузить mysqlclient с форматом .whl (предварительно созданная версия) и установить его используя pip?

pip install mysqlclient-1.3.13-cp36-cp36m-win32.whl

0 голосов
/ 10 июля 2020

Ваша проблема - DATABASE в вашем settings.py, вам необходимо установить mysqlclient, а затем DATABASE правильно настроить. Посмотрите, как это может выглядеть:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'someappname',
        'USER': 'username',
        'PASSWORD': 'yourpassword',
        'HOST': 'yourhost',
        'PORT': 'yourport',        
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...