题
我可以让 Python 与 Postgresql 一起使用,但无法让它与 MySQL 一起使用。主要问题是,在我拥有的共享主机帐户上,我无法安装 Django 或 PySQL 等东西,在我的计算机上安装它们时通常会失败,所以也许我不能在主机上安装是件好事。
我发现 bpgsql 非常好,因为它不需要安装,它是一个我可以查看、读取然后调用其功能的文件。有人知道 MySQL 有这样的东西吗?
解决方案
MySQLdb是我以前用过的。
如果您的主机使用 Python 2.5 或更高版本,则内置对 sqlite3 数据库的支持(sqlite 允许您拥有一个关系数据库,它只是文件系统中的一个文件)。但买家要注意,sqlite 不适合生产,所以这可能取决于您想用它做什么。
另一种选择可能是致电您的房东并投诉,或更换房东。老实说,现在任何支持 python 和 mysql 的有自尊的网络主机都应该预先安装 MySQLdb。
其他提示
我没有任何经验 http://www.SiteGround.com 作为个人网络主机。
这只是一个猜测,但共享主机通过 MySQLdb 模块支持 Python 和 MySQL 是很常见的(例如,GoDaddy 就是这样做的)。尝试以下 CGI 脚本来查看是否安装了 MySQLdb。
#!/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'
我上传了它并收到内部错误
Premature end of script headers
经过多次尝试后,我发现如果我有
import cgi
import cgitb; cgitb.enable()
import MySQLdb
它会给我一个更有用的答案,并说它没有安装,你可以自己查看 -> http://woarl.com/db.py
奇怪的是,这会产生错误
import MySQLdb
import cgi
import cgitb; cgitb.enable()
我查看了那里的其他一些文件,似乎该库是我已经尝试过的文件之一。
您确实需要 MySQLdb 来处理任何 MySQL + Python 代码。但是,您不需要 root 访问权限或任何其他权限即可使用它。您可以在用户目录(~/lib/python2.x/site-packages)中构建/安装它,然后将其添加到 PYTHON_PATH 环境变量中。这应该适用于几乎任何 python 库。
试试吧,确实没有什么好的选择。
选一个
https://docs.djangoproject.com/en/1.8/ref/databases/
MySQLdb 是最常用的驱动程序,但如果您使用的是 python3 和 django 1.8.x,这将无法工作,那么您应该使用 mysqlclient,它是 MySQLdb 的一个民间版本,位于以下链接