2008-08-03 19 views
34

Tôi có thể yêu cầu Python làm việc với Postgresql nhưng tôi không thể làm cho nó hoạt động với MySQL. Vấn đề chính là trên tài khoản chia sẻ lưu trữ tôi có tôi không có khả năng cài đặt những thứ như Django hoặc PySQL, tôi thường thất bại khi cài đặt chúng trên máy tính của tôi vì vậy có lẽ nó tốt tôi không thể cài đặt trên máy chủ.Python và MySQL

Tôi tìm thấy bpgsql thực sự tốt vì nó không yêu cầu cài đặt, đó là một tệp duy nhất mà tôi có thể xem, đọc và sau đó gọi các chức năng của. Có ai biết một cái gì đó như thế này cho MySQL?

Trả lời

23

MySQLdb là những gì tôi đã sử dụng trước đây.

Nếu bạn lưu trữ đang sử dụng phiên bản Python 2.5 trở lên, hỗ trợ cho cơ sở dữ liệu sqlite3 được xây dựng (sqlite cho phép bạn có cơ sở dữ liệu quan hệ chỉ đơn giản là tệp trong hệ thống tệp của bạn). Nhưng người mua hãy cẩn thận, sqlite không phù hợp cho sản xuất, vì vậy nó có thể phụ thuộc vào những gì bạn đang cố gắng làm với nó.

Tùy chọn khác có thể là gọi cho chủ nhà của bạn và khiếu nại hoặc thay đổi máy chủ. Thành thật mà nói những ngày này, bất kỳ máy chủ web tự tôn trọng hỗ trợ python và mysql nên có cài đặt trước MySQLdb.

7

Tôi không có bất kỳ trải nghiệm nào với một cá nhân lưu trữ trên web là http://www.SiteGround.com.

Đây chỉ là phỏng đoán, nhưng thông thường đối với máy chủ dùng chung để hỗ trợ Python và MySQL với mô-đun MySQLdb (ví dụ: GoDaddy thực hiện việc này). Hãy thử tập lệnh CGI sau để xem liệu MySQLdb có được cài đặt hay không.

#!/usr/bin/python 

module_name = 'MySQLdb' 
head = '''Content-Type: text/html 

%s is ''' % module_name 

try: 
    __import__(module_name) 
    print head + 'installed' 
except ImportError: 
    print head + 'not installed' 
+0

ở goddady mới của tôi lưu trữ với cpanel, họ không có mysqldb :(nhưng nó đã được trong một cũ của tôi ... tại sao họ loại bỏ nó? – fersarr

6

Tôi đã tải lên nó và có một lỗi nội bộ

Premature end of script headers 

Sau khi chơi nhiều xung quanh, tôi thấy rằng nếu tôi có

import cgi 
import cgitb; cgitb.enable() 
import MySQLdb 

Nó sẽ cung cấp cho tôi một câu trả lời hữu ích hơn nhiều và nói rằng nó chưa được cài đặt, bạn có thể tự mình xem ->http://woarl.com/db.py

Rất kỳ quặc , điều này sẽ tạo ra lỗi

import MySQLdb 
import cgi 
import cgitb; cgitb.enable() 

Tôi đã xem một số tệp khác mà tôi có ở đó và dường như thư viện là một trong những thư viện mà tôi đã thử.

6

Bạn có thể thử thiết lập cài đặt python của riêng mình bằng cách sử dụng Virtual Python. Kiểm tra làm thế nào để thiết lập Django sử dụng nó here. Điều đó đã được viết một thời gian dài trước đây, nhưng nó cho thấy làm thế nào tôi đã thiết lập MySQLdb mà không có quyền truy cập root hoặc bất cứ điều gì giống như nó. Một khi bạn đã có những điều cơ bản đi, bạn có thể cài đặt bất kỳ thư viện python nào bạn muốn.

4

Bạn thực sự muốn MySQLdb cho bất kỳ mã MySQL + Python nào. Tuy nhiên, bạn không cần quyền truy cập root hoặc bất kỳ thứ gì để sử dụng nó. Bạn có thể xây dựng/cài đặt nó trong một thư mục người dùng (~/lib/python2.x/site-packages), và chỉ cần thêm nó vào biến PYTHON_PATH env của bạn. Điều này sẽ làm việc cho chỉ là về bất kỳ thư viện python.

Cung cấp cho nó một shot, có thực sự không phải là một lựa chọn tốt.