我想将SQLAlchemy与MySQL数据库一起使用。我创建了引擎并尝试连接但是我收到如下错误。
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
Engine = create_engine('mysql+mysqldb://dbuser:pass@localhost/mydb')
Base = declarative_base(Engine)
失败并出现错误:
File "/usr/local/lib/python3.2/dist-packages/SQLAlchemy-0.8.0b2-py3.2.egg/sqlalchemy/connectors/mysqldb.py", line 57, in dbapi
return __import__('MySQLdb')
ImportError: No module named MySQLdb
搜索我发现你必须安装MySQLdb for python以便与MySQL一起玩。所以尝试使用 pip-3.2或easy_install-3.2 安装它会失败,如下所示。
sudo pip-3.2 install MySQL-python
Downloading/unpacking MySQL-python
Running setup.py egg_info for package MySQL-python
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "/tmp/pip-build/MySQL-python/setup.py", line 14, in <module>
from setup_posix import get_config
File "setup_posix.py", line 2, in <module>
from ConfigParser import SafeConfigParser
ImportError: No module named ConfigParser
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "/tmp/pip-build/MySQL-python/setup.py", line 14, in <module>
from setup_posix import get_config
File "setup_posix.py", line 2, in <module>
from ConfigParser import SafeConfigParser
ImportError: No module named ConfigParser
然后我想我必须安装 configparser 所以当我尝试这样做时它也会失败
Original exception was:
Traceback (most recent call last):
File "<string>", line 3, in <module>
File "/usr/local/lib/python3.2/dist-packages/distribute-0.6.34-py3.2.egg/setuptools/__init__.py", line 2, in <module>
from setuptools.extension import Extension, Library
File "/usr/local/lib/python3.2/dist-packages/distribute-0.6.34-py3.2.egg/setuptools/extension.py", line 2, in <module>
import distutils.core
File "/usr/lib/python3.2/distutils/core.py", line 19, in <module>
from distutils.config import PyPIRCCommand
File "/usr/lib/python3.2/distutils/config.py", line 8, in <module>
from configparser import ConfigParser
File "configparser.py", line 122
所以,我最初的问题是试图让Python与MySQL一起工作。但试图解决我无法安装MySQLdb。
修改 按照下面@robertklep的指示前进并安装了pymsql3。
sudo pip-3.2 install pymysql3
此致
答案 0 :(得分:6)
MySQLdb没有Python 3支持。尝试一种替代方案,例如PyMySQL(supported by SQLAlchemy as well)。
编辑:还有this project。
答案 1 :(得分:3)
https://www.pythonanywhere.com/wiki/UsingMySQL
pip install --user https://dev.mysql.com/get/Downloads/Connector-Python/mysql-connector-python-1.1.6.tar.gz
然后,更新您的settings.py以使用oracle django后端,&#34; mysql.connector.django&#34;:
DATABASES = {
'default': {
'ENGINE': 'mysql.connector.django',
...