{"id":565,"date":"2025-09-10T16:27:13","date_gmt":"2025-09-10T13:27:13","guid":{"rendered":"https:\/\/destek.narhost.com\/?p=565"},"modified":"2026-09-17T22:24:57","modified_gmt":"2026-09-17T19:24:57","slug":"importerror-this-is-mysqldb-version-hatasi-nasil-cozulur","status":"publish","type":"post","link":"https:\/\/narhost.com\/destek\/importerror-this-is-mysqldb-version-hatasi-nasil-cozulur\/","title":{"rendered":"ImportError This Is MySQLdb Version Hatas\u0131 Nas\u0131l \u00c7\u00f6z\u00fcl\u00fcr (Python\/VPS)"},"content":{"rendered":"<p class=\"kb-dogrulama\">Son g\u00f6zden ge\u00e7irme: Eyl\u00fcl 2026 \u00b7 mysqlclient (PyMySQL\/mysqlclient) ve Django resmi dok\u00fcman\u0131na g\u00f6re<\/p>\n<div id=\"hizli-cozum\" class=\"ai-box ai-box--cozum\">\n<p class=\"ai-box-title\">H\u0131zl\u0131 \u00e7\u00f6z\u00fcm<\/p>\n<p><strong>importerror this is mysqldb version<\/strong> hatas\u0131, kurulu <code>mysqlclient<\/code> paketinin Python taraf\u0131ndaki s\u00fcr\u00fcm bilgisiyle (<code>MySQLdb\/release.py<\/code>) derlenmi\u015f C uzant\u0131s\u0131n\u0131n (<code>_mysql<\/code>) bildirdi\u011fi s\u00fcr\u00fcm\u00fcn birbiriyle uyu\u015fmamas\u0131ndan gelir; en s\u0131k neden sanal ortamda paketin yar\u0131m ya da kar\u0131\u015f\u0131k \u015fekilde y\u00fckseltilmi\u015f olmas\u0131d\u0131r.<\/p>\n<ol>\n<li>Hangi sanal ortamda \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131z\u0131 <code>pip show mysqlclient<\/code> ile do\u011frulay\u0131n.<\/li>\n<li>Hata mesaj\u0131ndaki <code>_mysql:<\/code> sat\u0131r\u0131ndaki dosya yolunu okuyup \u00e7ak\u0131\u015fan uzant\u0131y\u0131 bulun.<\/li>\n<li><code>mysqlclient<\/code>&#8216;i sanal ortamda temiz olarak kald\u0131r\u0131p yeniden kurun.<\/li>\n<li>S\u00fcr\u00fcm\u00fc <code>python3 -c \"import MySQLdb; print(MySQLdb.version_info)\"<\/code> ile do\u011frulay\u0131n.<\/li>\n<\/ol>\n<\/div>\n<table class=\"kb-uyg\">\n<tr>\n<th>Panel<\/th>\n<td>Yok (SSH \/ konsol)<\/td>\n<\/tr>\n<tr>\n<th>Sistem<\/th>\n<td>VPS\/VDS \u00fczerinde Python + Django<\/td>\n<\/tr>\n<tr>\n<th>Yetki<\/th>\n<td>Proje kullan\u0131c\u0131s\u0131 (sanal ortam) \u00b7 sistem paketleri i\u00e7in <code>sudo<\/code><\/td>\n<\/tr>\n<tr>\n<th>Narhost \u00fcr\u00fcn\u00fc<\/th>\n<td><a href=\"https:\/\/narhost.com\/vps-sunucu\" title=\"Narhost VPS Sunucu paketleri\">VPS Sunucu<\/a><\/td>\n<\/tr>\n<\/table>\n<div class=\"kb-once\">\n<p class=\"label\">Ba\u015flamadan \u00f6nce<\/p>\n<ul>\n<li>Bu hata yaln\u0131zca kendi Python ortam\u0131n\u0131z\u0131 kurdu\u011funuz VPS\/VDS&#8217;te g\u00f6r\u00fcl\u00fcr; payla\u015f\u0131ml\u0131 hostingde SSH ve kendi Python kurulumunuz olmad\u0131\u011f\u0131 i\u00e7in kar\u015f\u0131n\u0131za \u00e7\u0131kmaz.<\/li>\n<li>Hangi Python s\u00fcr\u00fcm\u00fcn\u00fc ve hangi sanal ortam arac\u0131n\u0131 (<code>venv<\/code>, <code>virtualenv<\/code>) kulland\u0131\u011f\u0131n\u0131z\u0131 bilin.<\/li>\n<li>Sunucunuza SSH ile ba\u011fl\u0131 olun; sunucunun i\u00e7indeki Python ortam\u0131 ve paketler sizin sorumlulu\u011funuzdad\u0131r, Narhost bu ortam\u0131 sizin ad\u0131n\u0131za kurmaz.<\/li>\n<li>Prod\u00fcksiyon ortam\u0131ndaysan\u0131z de\u011fi\u015fiklik \u00f6ncesi <code>requirements.txt<\/code> \u00e7\u0131kt\u0131s\u0131n\u0131 ve sanal ortam\u0131 yedekleyin.<\/li>\n<\/ul>\n<\/div>\n<h2>Importerror this is mysqldb version hatas\u0131 neden olur<\/h2>\n<p><code>mysqlclient<\/code> paketinin <a href=\"https:\/\/github.com\/PyMySQL\/mysqlclient\" title=\"mysqlclient resmi GitHub deposu ve kurulum talimatlar\u0131\" target=\"_blank\" rel=\"noopener\">kaynak kodunda<\/a> (<code>MySQLdb\/__init__.py<\/code>) bir kendi kendine tutarl\u0131l\u0131k denetimi vard\u0131r: paket, Python taraf\u0131ndaki s\u00fcr\u00fcm bilgisini (<code>release.py<\/code> i\u00e7indeki <code>version_info<\/code>) derlenmi\u015f <code>_mysql<\/code> uzant\u0131s\u0131n\u0131n bildirdi\u011fi s\u00fcr\u00fcmle kar\u015f\u0131la\u015ft\u0131r\u0131r; ikisi e\u015fle\u015fmezse <code>ImportError: this is MySQLdb version (\u2026), but _mysql is version (\u2026)<\/code> f\u0131rlat\u0131r ve hangi <code>_mysql<\/code> dosyas\u0131n\u0131n \u00e7ak\u0131\u015ft\u0131\u011f\u0131n\u0131 da yazar. Bu, &#8220;s\u00fcr\u00fcm\u00fcn\u00fcz eski&#8221; demek de\u011fildir; &#8220;kurulumunuz tutars\u0131z&#8221; demektir.<\/p>\n<p>En s\u0131k \u00fc\u00e7 neden: sanal ortamda <code>pip install --upgrade mysqlclient<\/code> yar\u0131m kalm\u0131\u015f ya da \u00f6nbellekten eski bir derlenmi\u015f uzant\u0131 kullan\u0131lm\u0131\u015ft\u0131r; sistem genelinde (<code>apt<\/code>\/sistem pip&#8217;i ile) kurulu bir <code>mysqlclient<\/code>\/eski <code>MySQL-python<\/code> ile sanal ortamdaki farkl\u0131 s\u00fcr\u00fcm \u00e7ak\u0131\u015fmaktad\u0131r; ya da uygulama birden fazla Python s\u00fcr\u00fcm\u00fc (\u00f6rnek <code>python3.10<\/code> ve <code>python3.12<\/code>) aras\u0131nda yanl\u0131\u015f olan\u0131 \u00e7al\u0131\u015ft\u0131rmaktad\u0131r. <strong>Bununla kar\u0131\u015fan ayr\u0131 bir hata da vard\u0131r:<\/strong> Django&#8217;nun kendi asgari s\u00fcr\u00fcm denetimi, <code>mysqlclient<\/code> 2.2.1&#8217;den eskiyse farkl\u0131 bir istisna (<code>django.core.exceptions.ImproperlyConfigured<\/code>) ve farkl\u0131 bir metinle (&#8220;mysqlclient 2.2.1 or newer is required&#8221;) durur; bu, yukar\u0131daki <code>ImportError<\/code> ile ayn\u0131 k\u00f6ke de\u011fil, Django&#8217;nun s\u00fcr\u00fcm \u015fart\u0131na ba\u011fl\u0131d\u0131r.<\/p>\n<h2>Ad\u0131m ad\u0131m importerror this is mysqldb version hatas\u0131n\u0131 \u00e7\u00f6zme<\/h2>\n<ol class=\"kb-adimlar\">\n<li>Sanal ortam\u0131 etkinle\u015ftirip mevcut kurulumu do\u011frulay\u0131n.\n<pre><code class=\"language-bash\">source venv\/bin\/activate\npython3 -c \"import MySQLdb; print(MySQLdb.version_info)\"\npip show mysqlclient<\/code><\/pre>\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: <code>pip show<\/code> \u00e7\u0131kt\u0131s\u0131ndaki <code>Location<\/code> sat\u0131r\u0131, aktif sanal ortam\u0131n <code>site-packages<\/code> yolunu g\u00f6stermelidir; farkl\u0131 bir yol g\u00f6r\u00fcn\u00fcyorsa yanl\u0131\u015f ortamdas\u0131n\u0131z demektir.<\/p>\n<\/li>\n<li>Hata mesaj\u0131ndaki <code>_mysql:<\/code> sat\u0131r\u0131n\u0131 okuyun; orada g\u00f6sterilen dosya yolu \u00e7ak\u0131\u015fan derlenmi\u015f uzant\u0131n\u0131n tam olarak nerede oldu\u011funu g\u00f6sterir.\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: yol sanal ortam\u0131n\u0131z\u0131n d\u0131\u015f\u0131ndaysa (\u00f6rnek sistem geneli <code>site-packages<\/code>) sanal ortam\u0131n\u0131z izole de\u011fildir; <code>--system-site-packages<\/code> bayra\u011f\u0131 olmadan yeniden olu\u015fturun.<\/p>\n<\/li>\n<li>Gerekli sistem paketleri eksikse \u00f6nce onlar\u0131, ard\u0131ndan <code>mysqlclient<\/code>&#8216;i sanal ortamda temiz olarak yeniden kurun.\n<pre><code class=\"language-bash\"># Ubuntu \/ Debian\nsudo apt-get install python3-dev default-libmysqlclient-dev build-essential pkg-config\npip install --force-reinstall --no-cache-dir mysqlclient<\/code><\/pre>\n<pre><code class=\"language-bash\"># AlmaLinux \/ RHEL tabanl\u0131\nsudo dnf install python3-devel mysql-devel pkgconfig\npip install --force-reinstall --no-cache-dir mysqlclient<\/code><\/pre>\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: kurulum hatas\u0131z biterse <code>pip show mysqlclient<\/code> g\u00fcncel s\u00fcr\u00fcm\u00fc g\u00f6sterir; h\u00e2l\u00e2 eski g\u00f6r\u00fcn\u00fcyorsa \u00f6nce <code>pip uninstall mysqlclient<\/code> ile paketi tamamen kald\u0131r\u0131p ad\u0131m\u0131 tekrarlay\u0131n.<\/p>\n<\/li>\n<li>Django&#8217;nun asgari s\u00fcr\u00fcm \u015fart\u0131n\u0131 kar\u015f\u0131lad\u0131\u011f\u0131n\u0131z\u0131 ayr\u0131ca do\u011frulay\u0131n; <a href=\"https:\/\/docs.djangoproject.com\/en\/stable\/ref\/databases\/\" title=\"Django resmi dok\u00fcmantasyonu - Veritabanlar\u0131 (MySQL notlar\u0131)\" target=\"_blank\" rel=\"noopener\">Django&#8217;nun resmi dok\u00fcman\u0131na g\u00f6re<\/a> 2.2.1 ve \u00fczeri gerekir.\n<pre><code class=\"language-bash\">python3 -c \"import MySQLdb; print(MySQLdb.__version__)\"<\/code><\/pre>\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: s\u00fcr\u00fcm 2.2.1 ya da \u00fczeri olmal\u0131d\u0131r; d\u00fc\u015f\u00fckse <code>pip install -U mysqlclient<\/code> ile y\u00fckseltin.<\/p>\n<\/li>\n<li><code>mysqlclient<\/code>&#8216;i derleyemiyorsan\u0131z (eksik derleyici, k\u0131s\u0131tl\u0131 ortam) ge\u00e7ici \u00e7\u00f6z\u00fcm <code>PyMySQL<\/code>&#8216;d\u00fcr.\n<pre><code class=\"language-bash\">pip install PyMySQL<\/code><\/pre>\n<p>Projenizin ana <code>__init__.py<\/code> dosyas\u0131na ekleyin:<\/p>\n<pre><code class=\"language-python\">import pymysql\npymysql.install_as_MySQLdb()<\/code><\/pre>\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: <code>ImportError<\/code> kalkar ve proje aya\u011fa kalkar; ancak <code>PyMySQL<\/code> saf Python&#8217;d\u0131r, <code>mysqlclient<\/code>&#8216;in C uzant\u0131s\u0131 kadar h\u0131zl\u0131 de\u011fildir ve t\u00fcm <code>MySQLdb<\/code> davran\u0131\u015f\u0131n\u0131 birebir taklit etmez. Bu bir k\u00f6pr\u00fcd\u00fcr, kal\u0131c\u0131 \u00e7\u00f6z\u00fcm de\u011fildir; derleme sorununu \u00e7\u00f6z\u00fcp <code>mysqlclient<\/code>&#8216;e ge\u00e7mek \u00f6nerilir.<\/p>\n<\/li>\n<\/ol>\n<figure class=\"nh-sema\"><img src=\"https:\/\/narhost.com\/destek\/wp-content\/uploads\/2026\/09\/importerror-this-is-mysqldb-version-hatasi-nasil-cozulur-sema-narhost.webp\" alt=\"importerror this is mysqldb version hatas\u0131n\u0131 \u00e7\u00f6zme ad\u0131mlar\u0131 \u015femas\u0131\" width=\"1200\" height=\"500\" loading=\"lazy\" decoding=\"async\"><figcaption>S\u00fcr\u00fcm\u00fc do\u011frulama, \u00e7ak\u0131\u015fan uzant\u0131y\u0131 bulma, temiz kurulum ve s\u00fcr\u00fcm teyidi ad\u0131mlar\u0131.<\/figcaption><\/figure>\n<h2>Do\u011frulama<\/h2>\n<div class=\"success-box\">\n<p class=\"label\">Sonu\u00e7<\/p>\n<p>Django projesinde <code>python manage.py check<\/code> \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda <code>ImportError<\/code> \u00e7\u0131km\u0131yor ve <code>python3 -c \"import MySQLdb\"<\/code> hatas\u0131z tamamlan\u0131yorsa sorun \u00e7\u00f6z\u00fclm\u00fc\u015ft\u00fcr.<\/p>\n<\/div>\n<h2>H\u00e2l\u00e2 \u00e7\u00f6z\u00fclmediyse<\/h2>\n<ul>\n<li><strong>Sunucuda birden fazla Python s\u00fcr\u00fcm\u00fc kuruluysa<\/strong><code>pip<\/code> yanl\u0131\u015f Python&#8217;a ba\u011fl\u0131 olabilir; <code>pip install<\/code> yerine <code>python3 -m pip install<\/code> bi\u00e7imini kullan\u0131n ve do\u011fru <code>python3<\/code> ikilisini \u00e7a\u011f\u0131rd\u0131\u011f\u0131n\u0131z\u0131 <code>which python3<\/code> ile do\u011frulay\u0131n.<\/li>\n<li><strong>Hi\u00e7 sanal ortam kullanm\u0131yorsan\u0131z<\/strong> (sistem genelinde kurulum) \u00e7ak\u0131\u015fma ihtimali \u00e7ok daha y\u00fcksektir; Django&#8217;yu ve ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 temiz bir sanal ortama ta\u015f\u0131man\u0131z \u00f6nerilir, gerekirse \u00f6nce <a href=\"https:\/\/narhost.com\/destek\/linux-djangoyu-sistemden-kaldirma\/\" title=\"Linux&#039;ta Django&#039;yu sistemden kald\u0131rma - Narhost Destek\">Django&#8217;yu sistemden kald\u0131rma<\/a> ad\u0131mlar\u0131na bak\u0131n.<\/li>\n<li>SSH ile sunucuya ba\u011flanam\u0131yorsan\u0131z \u00f6nce <a href=\"https:\/\/narhost.com\/destek\/sunucuya-ssh-ile-nasil-baglanilir\/\" title=\"Sunucuya SSH ile nas\u0131l ba\u011flan\u0131l\u0131r - Narhost Destek\">SSH ba\u011flant\u0131s\u0131<\/a> kart\u0131n\u0131 izleyin.<\/li>\n<\/ul>\n<div class=\"cta-box\">\n<p class=\"label\">Narhost deste\u011fi<\/p>\n<p>VPS\/VDS&#8217;te i\u015fletim sistemi, panel ve uygulama katman\u0131 (Python, Django, sanal ortam dahil) sizin sorumlulu\u011funuzdad\u0131r; Narhost sunucunuzda sizin ad\u0131n\u0131za komut \u00e7al\u0131\u015ft\u0131rmaz. Talebe \u015funlar\u0131 ekleyin: i\u015fletim sistemi (Ubuntu\/AlmaLinux), Python ve mysqlclient s\u00fcr\u00fcm\u00fc, sanal ortam arac\u0131, tam hata \u00e7\u0131kt\u0131s\u0131.<\/p>\n<p><a class=\"cta-btn\" href=\"https:\/\/narhost.com\/submitticket.php\" title=\"Narhost destek talebi a\u00e7\">Destek talebi a\u00e7<\/a><\/div>\n<div class=\"kb-ilgili\">\n<p class=\"label\">Sonraki ad\u0131mlar<\/p>\n<ul>\n<li><a href=\"https:\/\/narhost.com\/destek\/site-bazen-acilmiyorsa-ne-yapilmali\/\" title=\"Site A\u00e7\u0131lm\u0131yor \u2014 Ad\u0131m Ad\u0131m Te\u015fhis Rehberi - Narhost Destek\">Site A\u00e7\u0131lm\u0131yor \u2014 Ad\u0131m Ad\u0131m Te\u015fhis Rehberi (konu merkezi)<\/a><\/li>\n<li><a href=\"https:\/\/narhost.com\/destek\/vps-server\/\" title=\"VPS Server destek kartlar\u0131 - Narhost\">VPS\/VDS hata \u00e7\u00f6z\u00fcm kartlar\u0131<\/a><\/li>\n<li><a href=\"https:\/\/narhost.com\/destek\/vps-vds-ilk-kurulum-rehberi\/\" title=\"VPS\/VDS \u0130lk Kurulum Rehberi - Narhost Destek\">VPS\/VDS ilk kurulum rehberi<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"kb-faq\">\n<h2>S\u0131k\u00e7a sorulan sorular<\/h2>\n<h3>Importerror this is mysqldb version hatas\u0131 payla\u015f\u0131ml\u0131 hostingde de \u00e7\u0131kar m\u0131?<\/h3>\n<p>Hay\u0131r. Payla\u015f\u0131ml\u0131 hostingde SSH eri\u015fimi ve kendi Python\/Django ortam\u0131n\u0131z yoktur; bu hata yaln\u0131zca kendi Python uygulaman\u0131z\u0131 \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131z VPS\/VDS&#8217;te g\u00f6r\u00fcl\u00fcr.<\/p>\n<h3>Pip install mysqlclient neden derleme hatas\u0131 veriyor?<\/h3>\n<p>Genellikle sistemde <code>python3-dev<\/code>\/<code>python3-devel<\/code>, MySQL geli\u015ftirme ba\u015fl\u0131klar\u0131 ve derleyici eksiktir; 3. ad\u0131mdaki sistem paketlerini kurup tekrar deneyin.<\/p>\n<h3>PyMySQL&#8217;i install_as_MySQLdb() ile kal\u0131c\u0131 olarak kullanabilir miyim?<\/h3>\n<p>Teknik olarak \u00e7al\u0131\u015f\u0131r ama \u00f6nerilmez; performans fark\u0131 ve MySQLdb API&#8217;sini birebir taklit etmemesi nedeniyle yaln\u0131zca <code>mysqlclient<\/code>&#8216;i do\u011fru kurana kadar ge\u00e7ici bir k\u00f6pr\u00fc olarak kullan\u0131n.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>ImportError this is MySQLdb version hatas\u0131, mysqlclient paketinin Python taraf\u0131 ile derlenmi\u015f _mysql uzant\u0131s\u0131n\u0131n s\u00fcr\u00fcm\u00fcn\u00fcn uyu\u015fmamas\u0131ndan gelir. Sanal ortamda temiz kurulum, sistem paketleri ve PyMySQL alternatifini anlat\u0131yoruz.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[261],"class_list":["post-565","post","type-post","status-publish","format-standard","hentry","category-vps-server","tag-django"],"meta_box":[],"_links":{"self":[{"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/posts\/565","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/comments?post=565"}],"version-history":[{"count":4,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/posts\/565\/revisions"}],"predecessor-version":[{"id":1518,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/posts\/565\/revisions\/1518"}],"wp:attachment":[{"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/media?parent=565"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/categories?post=565"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/tags?post=565"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}