Python3 kullananlar için güncelleme:conda install mysqlclient
MySQLdb'yi şu anda mevcut haliyle
kullanmak için gerekli kitaplıkları yüklemek için kullanabilirsiniz. Aşağıdaki SO sorusu faydalı bir ipucuydu: Python 3 ImportError: 'ConfigParser' adlı modül yok . Mysqlclient'i yüklemek mysqlclient, mysql-connector ve llvmdev'i kuracak (en azından bu 3 kitaplığı makineme kurdu).
İşte bu problemle ilgili baştan savma deneyimimin hikayesi. Konuyla ilgili daha iyi deneyime sahipseniz, düzenlenmiş veya genelleştirilmiş görmeyi çok isterim ... biraz SO büyüsünü uygulayın.
Not: Sonraki paragraftaki yorumlar Snow Leopard'a uygulandı, ancak Lion'a uygulanmadı, bu 64 bit MySQL gerektiriyor gibi görünüyor
Öncelikle, MySQLdb yazarı (hala?) Burada en tehlikeli sorunlardan birinin OS X'in Python'un 32 bit sürümüyle birlikte gelmesi olduğunu söylüyor , ancak çoğu ortalama joes (kendim dahil) muhtemelen 64 bit sürümünü yüklemek için atlıyor. MySQL. Yanlış hareket ... 64 bit sürümünü yüklediyseniz kaldırın (bu karmaşık görevle ilgili talimatlar burada SO'da mevcuttur ), ardından 32 bit sürümü indirip yükleyin ( burada paket )
MySQLdb kitaplıklarının nasıl oluşturulup kurulacağına dair çok sayıda adım adım vardır. Genellikle ince farklılıkları vardır. Bu benim için en popüler gibi göründü ve çalışma çözümünü sağladı. Aşağıda birkaç düzenleme ile yeniden oluşturdum
Adım 0:
Başlamadan önce , Mac'te MySQL, Python ve GCC'nin kurulu olduğunu varsayıyorum .
Adım 1: SourceForge'dan Python için
en son MySQL adaptörünü indirin .
Adım 2:
İndirdiğiniz paketi çıkarın:
tar xzvf MySQL-python-1.2.2.tar.gz
3. Adım:
Klasörün içinde paketi temizleyin:
sudo python setup.py clean
BİRKAÇ EKSTRA ADIM, ( bu yorumdan )
Adım 3b:
MySQL-python-1.2.2 / build / * dizininizin altındaki her şeyi kaldırın - bunu sizin için yapması için "python setup.py clean" e güvenmeyin
Adım 3c:
Kullanıcılar / $ USER / .python-yumurta altındaki yumurtayı kaldırın
Adım 4:
Başlangıçta _mysql.c'nin düzenlenmesi gerekiyordu, ancak artık ARTIK GEREK YOKTUR. MySQLdb topluluğu bu hatayı şimdi düzeltti gibi görünüyor.
Adım 5:
mysql adlı bir alt dizine işaret etmek için lib altında sembolik bir bağlantı oluşturun. Derleme sırasında aradığı yer burasıdır.
sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql
6. Adım:
setup_posix.py dosyasını düzenleyin ve aşağıdakileri değiştirin
mysql_config.path = "mysql_config"
-e
mysql_config.path = "/ usr / local / mysql / bin / mysql_config"
Adım 7:
Aynı dizinde paketinizi yeniden oluşturun (onunla birlikte gelen uyarıları dikkate almayın)
sudo python setup.py build
Adım 8:
Paketi kurun ve bitirdiniz.
sudo python setup.py install
9. Adım:
Çalışıp çalışmadığını test edin. MySQLdb'yi içe aktarabiliyorsanız çalışır.
python
>>> import MySQLdb
Adım 10:
İçe aktarmayı denediğinizde Library not loaded: libmysqlclient.18.dylib
şununla biten şikayet eden bir hata alırsanız : Reason: image not found
ek bir sembolik bağlantı oluşturmanız gerekir:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
Daha sonra import MySQLdb
herhangi bir hata yapmadan yapabilmelisiniz .
Yine de son bir hıçkırık, Python'u yapı dizininden başlatırsanız şu hatayı alacağınızdır:
/Library/Python/2.5/site-packages/MySQL_python-1.2.3c1-py2.5-macosx-10.5-i386.egg/_mysql.py:3: UserWarning: _mysql modülü /Library/Python/2.5/ adresinden zaten içe aktarıldı site-packages / MySQL_python-1.2.3c1-py2.5-macosx-10.5-i386.egg / _mysql.pyc, ancak XXXX / MySQL-python-1.2.3c1 sys.path'e ekleniyor
Bu Google için oldukça kolaydır, ancak sizi sıkıntıdan kurtarmak için burada son bulacaksınız (veya belki de ... özellikle geleceğe hazır bir URL değil) ve cd ..
derleme dizininden çıkmanız gerektiğini ve hatanın kaybolması gerektiğini anlayın.
En üstte yazdığım gibi, bu korkunç sorunun başka birçok özel deneyimi olduğu için, bu cevabın genelleştirilmiş olduğunu görmek isterim. Düzenleyin veya kendi daha iyi cevabınızı verin.