Tích hợp MySQL với Python trong Windows


102

Tôi thấy khó sử dụng MySQL với Python trong hệ thống cửa sổ của mình.

Tôi hiện đang sử dụng Python 2.6. Tôi đã cố gắng biên dịch mã nguồn MySQL-python-1.2.3b1 (được cho là hoạt động cho Python 2.6?) Bằng cách sử dụng các tập lệnh thiết lập được cung cấp. Tập lệnh thiết lập chạy và nó không báo bất kỳ lỗi nào nhưng nó không tạo ra mô-đun _mysql.

Tôi cũng đã thử thiết lập MySQL cho Python 2.5 nhưng không thành công. Vấn đề với việc sử dụng 2.5 là Python 2.5 được biên dịch bằng visual studio 2003 (tôi đã cài đặt nó bằng các tệp nhị phân được cung cấp). Tôi có visual studio 2005 trên hệ thống cửa sổ của mình. Do đó setuptools không tạo được mô-đun _mysql.

Bất kỳ giúp đỡ?


2
Đã 3 năm trôi qua kể từ khi câu hỏi này được hỏi và 2 năm kể từ lần trả lời được bình chọn cao gần đây nhất, hãy xem câu trả lời cập nhật cho Python 3.2 bên dưới (hoặc xem wiki.python.org/moin/MySQL )
Eran Medan

Câu trả lời:


127

Trang tải xuống cho python-mysqldb . Trang này bao gồm các tệp nhị phân cho các phiên bản 32 và 64 bit của Python 2.5, 2.6 và 2.7.

Ngoài ra còn có cuộc thảo luận về việc loại bỏ cảnh báo không dùng nữa .

CẬP NHẬT : Đây là một câu trả lời cũ. Hiện tại, tôi khuyên bạn nên sử dụng PyMySQL. Đó là python thuần túy, vì vậy nó hỗ trợ tất cả các hệ điều hành như nhau, nó gần như là một sự thay thế thả xuống cho mysqldb và nó cũng hoạt động với python 3. Cách tốt nhất để cài đặt nó là sử dụng pip. Bạn có thể cài đặt nó từ đây (hướng dẫn thêm tại đây ), sau đó chạy:

pip install pymysql

Có ai có thể xác nhận rằng tệp thực thi được liên kết đầu tiên hoạt động với Python 2.6 không? Màn hình hiển thị cài đặt cho biết nó chỉ là 2,5 - nhưng tôi cho rằng người đã xây dựng nó có thể chưa cập nhật dòng tài liệu đó.
John C

Tôi đã cài đặt python 2.7 x64 nhưng trong khi nhập MySQLdb, tôi nhận được lỗi 'ImportError: Không có mô-đun nào có tên _mysql_windows.api'. Xin bất cứ ai giúp tôi giải quyết vấn đề này.
Vilva

4
Tốt sau khi làm pip install pymysql, syncdbvẫn còn phàn nàn về MySQLdbmô-đun bị thiếu .
Shailen

trong khi tôi chạy lệnh này trong hệ thống Windows 8.1 64 bit, nó hiển thị: Traceback (lần gọi gần đây nhất): Tệp "C: \ Python33 \ Scripts \ pip-script.py", dòng 5, trong <module> từ pkg_resources import load_entry_point ImportError: Không có mô-đun nào có tên 'pkg_resources'
hizbul25,

@shailenTJ (và bất kỳ ai có vấn đề tương tự) hãy xem ở đây
itsadok

31

Điều này có thể giống như lời khuyên của ông nội bạn, nhưng tất cả các câu trả lời ở đây không đề cập đến cách tốt nhất: hãy cài đặt ActivePython thay vì tệp nhị phân cửa sổ python.org. Tôi đã thực sự thắc mắc trong một thời gian dài tại sao việc phát triển Python trên windows lại là một thứ pita như vậy - cho đến khi tôi cài đặt activestate python. Tôi không liên kết với họ. Nó chỉ là sự thật đơn giản. Viết nó lên mọi bức tường: Phát triển Python trên Windows = ActiveState ! sau đó bạn chỉ cần pypm install mysql-pythonvà mọi thứ hoạt động trơn tru. không biên dịch orgy. không có lỗi lạ. không khủng bố. Chỉ cần bắt đầu viết mã và thực hiện công việc thực sự sau năm phút. Đây là cách duy nhất để đi trên cửa sổ. Có thật không.


2
Nó sẽ là một giải pháp hoàn hảo nếu một thuê bao Business Edition là không cần thiết ...
Matheus Moreira

4
@ mathus.emm - Phiên bản Doanh nghiệp không cần thiết để cài đặt MySQLdb trên Windows 32-bit.
Sridhar Ratnakumar

7
@ mathus.emm - Để có quyền truy cập miễn phí, bạn có thể cài đặt ActivePython 32-bit trên HĐH Windows 7 64-bit và sau đó cài đặt mysql-python. ActivePython 64-bit yêu cầu đăng ký BE để cài đặt các gói.
Sridhar Ratnakumar

2
Đây là lời khuyên tuyệt vời. Tôi nghĩ Phiên bản dành cho Doanh nghiệp rất xứng đáng nếu bạn đang nghiêm túc sử dụng Python trong sản xuất. Nếu nó tiết kiệm cho bạn một vài giờ làm việc mỗi tháng, nó sẽ tự trả. Tất cả những vấn đề đau đầu về cấu hình này khiến tôi nhớ đến mô hình kinh doanh mã nguồn mở: "Cung cấp cho họ phần mềm miễn phí, nhưng quá khó để cài đặt và sử dụng, họ cần phải mua sách hướng dẫn và / hoặc hỗ trợ." Chỉ có một vấn đề là nhiều dự án trong số này không cung cấp hoặc bán hỗ trợ bởi vì họ coi mã nguồn mở là một hệ tư tưởng thay vì nó được dự định là một mô hình kinh doanh. lolz
Dana Holt

1
Chỉ cần cài đặt nó bằng phiên bản cộng đồng activepython và nó hoạt động như một sự quyến rũ. Rất khuyến khích
Cleber Goncalves,

15

Là một người mới học Python, tôi vừa mới hoàn thành phần này.

  1. Hướng dẫn cài đặt công cụ thiết lập

  2. Cài đặt MySQL 5.1. Tải xuống MSI 97,6MB từ đây Bạn không thể sử dụng phiên bản cần thiết vì nó không chứa thư viện C.
    Đảm bảo chọn cài đặt tùy chỉnh và đánh dấu các công cụ / thư viện phát triển để cài đặt vì điều đó không được thực hiện theo mặc định. Điều này là cần thiết để lấy các tệp tiêu đề C.
    Bạn có thể xác minh rằng bạn đã thực hiện việc này một cách chính xác bằng cách tìm trong thư mục cài đặt của mình để tìm thư mục có tên "bao gồm". EG C: \ Program Files \ MySQL \ MySQL Server 5.1 \ bao gồm. Nó phải có một loạt các tệp .h.

  3. Cài đặt Microsoft Visual Studio C ++ Express 2008 từ đây Điều này cần thiết để có được trình biên dịch C.

  4. Mở dòng lệnh với tư cách quản trị viên (nhấp chuột phải vào phím tắt Cmd và sau đó "chạy với tư cách quản trị viên". Hãy đảm bảo mở một cửa sổ mới sau khi bạn đã cài đặt những thứ đó, nếu không đường dẫn của bạn sẽ không được cập nhật và cài đặt vẫn không thành công.

  5. Từ dấu nhắc lệnh:

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

    Điều đó sẽ thất bại - điều đó không sao.

    Bây giờ mở site.cfg trong thư mục tạm thời C: \ temp \ sometempdir của bạn và chỉnh sửa cài đặt "registry_key" thành:

    registry_key = SOFTWARE \ MySQL AB \ MySQL Server 5.1

    bây giờ CD vào dir tạm thời của bạn và:

    python setup.py sạch

    python setup.py cài đặt

    Bạn nên sẵn sàng để đá!

  6. Đây là một tập lệnh siêu đơn giản để bắt đầu học Python DB API cho bạn - nếu bạn cần.


7

Tôi tìm thấy một vị trí là một người đã xây dựng thành công mysql cho python2.6, chia sẻ liên kết, http://www.technicalbard.com/files/MySQL-python-1.2.2.win32-py2.6.exe

... bạn có thể thấy cảnh báo trong khi nhập MySQLdb, điều này tốt và điều đó sẽ không ảnh hưởng gì,

C: \ Python26 \ lib \ site-Package \ MySQLdb__init __. Py: 34: DeprecationWarning: mô-đun bộ không được chấp nhận từ bộ nhập ImmutableSet


5

Còn về pymysql ? Đó là Python thuần túy và tôi đã sử dụng nó trên Windows với thành công đáng kể, vượt qua những khó khăn khi biên dịch và cài đặt mysql-python.



2

2,5 (và 2.4) binaries thất bại trong việc cài đặt nếu chỉ 2,6 được cài đặt
David Sykes

Đó sẽ là bởi vì các phiên bản phải phù hợp với nhau. Có một liên kết đến MySQL-Python 2.6 cho Windows trong bài viết trên blog này, nhưng tôi đã không thử nó: timvalenta.wordpress.com/2009/02/04/python-26-mysql
Dave Webb



2

Bạn có thể thử sử dụng myPySQL. Nó thực sự dễ sử dụng; không cần biên dịch cho windows và ngay cả khi bạn cần biên dịch nó vì bất kỳ lý do gì, bạn chỉ cần cài đặt Python và Visual C (không phải mysql).

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

Chúc may mắn


1

Vì tôi đang chạy python trong virtualenv (giá treo / kim tự tháp), tôi không thể chạy trình cài đặt nhị phân (hữu ích) được liên kết với trước đó.

Tôi gặp sự cố khi thực hiện theo các bước với câu trả lời của Willie, nhưng tôi xác định rằng vấn đề là (có thể) là tôi đang chạy cài đặt windows 7 x64, đặt khóa đăng ký cho mysql ở một vị trí hơi khác, cụ thể là trong trường hợp của tôi (lưu ý: I đang chạy phiên bản 5.5) trong: "HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ MySQL AB \ MySQL Server 5.5".

TUY NHIÊN, "HKEY_LOCAL_MACHINE \" không thể được đưa vào đường dẫn nếu không nó sẽ bị lỗi.

Ngoài ra, tôi phải khởi động lại giữa các bước 3 và 4.

Sau khi làm việc qua tất cả những điều này, IMO sẽ thông minh hơn nếu chạy toàn bộ môi trường nhà phát triển python từ cygwin.



0

Bạn cũng có thể muốn xem xét việc sử dụng Cygwin , nó có các thư viện python mysql trong kho lưu trữ.


0

Bạn cũng có thể sử dụng pyodbc với MySQL Connector / ODBC để sử dụng MySQL trên Windows. Unixodbc cũng có sẵn để làm cho mã tương thích trên Linux. Pyodbc sử dụng Python DB API 2.0 tiêu chuẩn, vì vậy nếu bạn gắn bó với việc chuyển đổi giữa các trình điều khiển MySQL / PostgreSQL / SQLite / ODBC / JDBC, v.v. sẽ tương đối dễ dàng.



0

Đã phát ngán với những rắc rối cài đặt với MySQLdb và thay vào đó, hãy thử pymysql .

Thiết lập dễ dàng;

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

Và các API khá giống nhau.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.