MySQL'i Windows'ta Python ile entegre etme


102

Windows sistemimde MySQL'i Python ile kullanmakta zorlanıyorum.

Şu anda Python 2.6 kullanıyorum. Sağlanan kurulum betiklerini kullanarak MySQL-python-1.2.3b1 (Python 2.6 için çalışması gerekiyor mu?) Kaynak kodunu derlemeye çalıştım. Kurulum betiği çalışır ve herhangi bir hata bildirmez, ancak _mysql modülü oluşturmaz.

Ayrıca başarılı olamadan Python 2.5 için MySQL kurmayı denedim. 2.5 kullanmanın problemi, Python 2.5'in visual studio 2003 ile derlenmiş olmasıdır (sağlanan ikili dosyaları kullanarak kurdum). Windows sistemimde visual studio 2005 var. Bu nedenle, setuptools _mysql modülünü oluşturamaz.

Herhangi bir yardım ?


2
Bunun sorulmasının üzerinden 3 yıl geçtiğinden ve son yüksek oylanan cevabın üzerinden 2 yıl geçtiğinden, aşağıdaki Python 3.2 için güncellenmiş cevaba bakın (veya wiki.python.org/moin/MySQL bakın )
Eran Medan

Yanıtlar:


127

Python-mysqldb için indirme sayfası . Sayfa, Python 2.5, 2.6 ve 2.7'nin 32 ve 64 bit sürümleri için ikili dosyalar içerir.

Ayrıca kullanımdan kaldırma uyarısından kurtulma konusunda da tartışmalar var .

GÜNCELLEME : Bu eski bir cevaptır. Şu anda PyMySQL kullanmanızı tavsiye ederim. Saf python, yani tüm işletim sistemlerini eşit şekilde destekliyor, neredeyse mysqldb'nin yerini alıyor ve python 3 ile de çalışıyor. Bunu kurmanın en iyi yolu pip kullanmaktır. Buradan (daha fazla talimat burada ) kurabilir ve ardından şunu çalıştırabilirsiniz:

pip install pymysql

İlk bağlantılı yürütülebilir dosyanın Python 2.6 ile çalıştığını doğrulayan var mı? Kurulum açılış ekranı sadece 2.5 olduğunu söylüyor - ancak bunu yapan kişinin bu dokümantasyon satırını güncellememiş olabileceğini varsayıyorum.
John C

Python 2.7 x64 yükledim ancak MySQLdb'yi içe aktarırken 'ImportError: _mysql_windows.api adlı modül yok' hatası alıyorum. Pls herkes bu sorunu çözmeme yardım eder.
Vilva

4
Peki yaptıktan sonra pip install pymysql, syncdbhala eksik MySQLdbmodülden şikayet ediyordum .
Shailen

Windows 8.1 64 bit sistemimde bu komutu çalıştırdığımda şunu gösteriyor: Traceback (en son çağrı): Dosya "C: \ Python33 \ Scripts \ pip-script.py", satır 5, <module> içinde pkg_resources import load_entry_point ImportError: 'pkg_resources' adlı modül yok
hizbul25

@shailenTJ (ve benzer bir sorunu olan herkes) buraya
itsadok

31

Bu, büyükbabanızın verdiği tavsiye gibi okunabilir, ancak buradaki tüm cevaplar en iyi yoldan bahsetmiyor: python.org Windows ikili dosyaları yerine gidin ve ActivePython'u yükleyin . Windows üzerinde Python geliştirmenin neden böyle bir pide olduğunu uzun zamandır merak ediyordum - Activeestate python'u kurana kadar. Onlara bağlı değilim. Bu sadece apaçık gerçektir. Her duvara yazın: Windows'ta Python geliştirme = ActiveState ! o zaman sadece pypm install mysql-pythonve her şey sorunsuz çalışıyor. derleme alemi yok. garip hata yok. terör yok. Beş dakika sonra kodlamaya ve gerçek bir iş yapmaya başlayın. Pencerelere çıkmanın tek yolu budur. Gerçekten mi.


2
Bir Business Edition abonelik gerekli değildi eğer ... mükemmel bir çözüm olacaktır
Matheus Moreira

4
@ matheus.emm - Business Edition, MySQLdb'yi Windows 32-bit'e kurmak için gerekli değildir.
Sridhar Ratnakumar

7
@ matheus.emm - Ücretsiz erişim için, Windows 7 64-bit işletim sisteminize ActivePython 32-bit yükleyebilir ve ardından mysql-python kurabilirsiniz. ActivePython 64-bit, paketleri kurmak için bir BE aboneliği gerektirir.
Sridhar Ratnakumar

2
Bu harika bir tavsiye. Python'u üretimde ciddi şekilde kullanıyorsanız, Business Edition'ın buna değer olduğunu düşünüyorum. Size ayda birkaç saat çalışma kazandırırsa, kendi masrafını çıkarır. Tüm bu yapılandırma sorunları, açık kaynak iş modelini hatırlamamı sağlıyor: "Onlara yazılımı ücretsiz verin, ancak kurulumunu ve kullanımını çok zorlaştırın, kılavuz ve / veya desteği satın almaları gerekir." Tek sorun, bu projelerin birçoğunun destek sağlamaması veya satmaması, çünkü açık kaynağı olması amaçlanan şey yerine bir ideoloji, bir iş modeli olarak görüyorlar. lolz
Dana Holt

1
Activepython topluluk sürümünü kullanarak kurdum ve bir cazibe gibi çalıştı. Highly recommended
Cleber Goncalves

15

Python yeni başlayan Python ekosistemini öğrenirken bunu yeni tamamladım.

  1. Kurulum araçları talimatlarını yükleyin

  2. MySQL 5.1'i kurun. 97.6MB MSI'yı buradan indirin C kitaplıklarını içermediği için temel sürümü kullanamazsınız.
    Özel bir kurulum seçtiğinizden emin olun ve kurulum için geliştirme araçlarını / kitaplıklarını varsayılan olarak yapılmadığı için işaretleyin. Bu, C başlık dosyalarını almak için gereklidir.
    Kurulum dizininizde "include" adlı bir klasör olup olmadığına bakarak bunu doğru şekilde yaptığınızı doğrulayabilirsiniz. EG C: \ Program Files \ MySQL \ MySQL Server 5.1 \ include. Bir sürü .h dosyası olmalıdır.

  3. Microsoft Visual Studio C ++ Express 2008'i buradan yükleyin. Bu, bir C derleyicisi edinmek için gereklidir.

  4. Yönetici olarak bir komut satırı açın (Cmd kısayoluna sağ tıklayın ve ardından "yönetici olarak çalıştır". Bunları yükledikten sonra yeni bir pencere açtığınızdan emin olun , aksi takdirde yolunuz güncellenmez ve yükleme başarısız olur.

  5. Komut isteminden:

    easy_install -b C: \ temp \ sometempdir mysql-python

    Başarısız olacak - ki sorun değil.

    Şimdi C: \ temp \ sometempdir geçici dizininizde site.cfg'yi açın ve "registry_key" ayarını şu şekilde düzenleyin:

    Registry_key = YAZILIM \ MySQL AB \ MySQL Sunucusu 5.1

    şimdi temp dizininize CD ve:

    python setup.py temiz

    python setup.py install

    Sarsmaya hazır olmalısın!

  6. İşte size Python DB API'sini öğrenmeye başlamak için süper basit bir betik - ihtiyacınız varsa.


7

Bir kişinin python2.6 için başarılı bir şekilde mysql oluşturduğu, http://www.technicalbard.com/files/MySQL-python-1.2.2.win32-py2.6.exe bağlantısını paylaşan bir konum buldum

... MySQLdb'yi içe aktarırken sorun olmayan ve hiçbir şeye zarar vermeyen bir uyarı görebilirsiniz,

C: \ Python26 \ lib \ site-paketleri \ MySQLdb__init __. Py: 34: Kullanımdan kaldırma Uyarı: setler modülü, ImmutableSet içe aktarım setlerinden kaldırıldı


5

Pymysql ne olacak ? Tamamen Python ve mysql-python'u derleme ve yükleme zorluklarını atlayarak Windows'ta hatırı sayılır bir başarıyla kullandım.






2

MyPySQL'i kullanmayı deneyebilirsiniz. Kullanımı gerçekten çok kolay; windows için derleme yok ve herhangi bir nedenle derlemeniz gerekse bile, yalnızca Python ve Visual C'nin kurulu olması gerekir (mysql değil).

http://code.google.com/p/mypysql/

İyi şanslar


1

Python'u bir (pilon / piramit) virtualenv'de çalıştırdığım için, daha önce bağlanan ikili yükleyicileri (yararlı bir şekilde) çalıştıramadım.

Willie'nin cevabıyla ilgili adımları izleyerek sorunlar yaşadım, ancak sorunun (muhtemelen) Windows 7 x64 yüklemesi çalıştırdığımı belirledim, bu da mysql için kayıt defteri anahtarını özellikle benim durumumda biraz farklı bir konuma koyuyor (not: I 5.5) sürümünü çalıştırıyorum: "HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ MySQL AB \ MySQL Server 5.5".

ANCAK, "HKEY_LOCAL_MACHINE \" yola eklenemez, aksi takdirde başarısız olur.

Ayrıca, 3. ve 4. adımlar arasında yeniden başlatmak zorunda kaldım.

Tüm bunları çalıştıktan sonra, IMO, cygwin'den tüm python dev ortamını çalıştırmak daha akıllıca olurdu.






0

MySQLdb ile ilgili kurulum sorunlarından bıktım ve pymysql'i denedim yerine.

Kolay kurulum;

git clone https://github.com/petehunt/PyMySQL.git
python setup.py install

API'ler hemen hemen aynıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.