ska*_*kaz 16 python mysql django mysql-python
我是Python的新手,并尝试设置一个Django项目来使用MySql.我已阅读了有关该主题的文档以及其他一些StackOverflow帖子,但我仍然无法使其工作.
当我尝试在Django中运行迁移时,我收到以下错误:
Error loading MySQLdb module: No module named 'MySQLdb'
Run Code Online (Sandbox Code Playgroud)
我已经安装了推荐的MySql Python Connector(2.0.1),选择了Ubuntu(因为我在Mint Linux上).它安装正确.我仍然得到错误.我不需要将这个库添加到项目或其他任何东西,对吗?看起来python应该只是意识到这一点并成功运行.我能做什么?谢谢.
编辑:我忘了提到:我正在运行Python 3.4 - 许多典型的解决方案仍然使用2.7,所以它们不起作用,所有3.0的解决方案我都试过没有成功.
Dan*_*Dev 17
在Ubuntu Server 16.04上,现有的答案都没有对我有用,所以我跑了:
sudo apt-get install libmysqlclient-dev
sudo -H pip3 install mysqlclient
Run Code Online (Sandbox Code Playgroud)
第一个命令给我第二个命令所需的mysql配置.
Mic*_*ert 13
如果您可以安装pymysql - 这对我来说非常适合Python 3.4 - 那么将这些行添加到Django中的manage.py文件中:
try:
import pymysql
pymysql.install_as_MySQLdb()
except ImportError:
pass
Run Code Online (Sandbox Code Playgroud)
这将使pymysql功能像MySQLdb一样,并为我工作.
小智 12
我需要在settings.py中看到你的DATABASES配置,但看起来它正在尝试加载MySQLDB而不是你安装的Mysql Python Connector.数据库应该看起来像这样:
DATABASES = {
'default': {
'NAME': 'mydatabase',
'ENGINE': 'mysql.connector.django',
'USER': 'myuser',
'PASSWORD': 'secretpassword',
'OPTIONS': {
'autocommit': True,
},
}
}
Run Code Online (Sandbox Code Playgroud)
注意ENGINE部分...告诉Django使用mysql连接器而不是MySQLDB ...
更多信息请访问:http : //bunwich.blogspot.com/2014/02/finally-mysql-connector-that-works-with.html http://dev.mysql.com/doc/connector-python/en/连接器中的python-django的-backend.html
如果你期望使用南方:
www.pythonanywhere.com/wiki/UsingMySQL
您可能需要注意Oracle连接器是GPL,并且使用该代码可能存在许可证问题.看这里:
groups.google.com/forum/#!topic/django-developers/8r_RVmUe5ys
Django 1.7文档建议使用mysqlclient驱动程序...
docs.djangoproject.com/en/1.7/ref/databases/ - 请参阅有关Mysql DB API驱动程序的部分
该客户端的pypi.python.org/pypi/mysqlclient ...
斯科特
归档时间: |
|
查看次数: |
48084 次 |
最近记录: |