2

MySQLデータベースでSQLAlchemyを使用したい。エンジンを作成して接続しようとしましたが、次のようなエラーが発生します。

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

それを検索すると、MySQLとうまく連携するには、Python用のMySQLdbをインストールする必要があることがわかりました。したがって、 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

よろしく、

4

2 に答える 2

6

MySQLdbはPython3をサポートしていません。PyMySQLSQLAlchemyでもサポートされています)のような代替手段を試してください。

編集:このプロジェクトもあります。

于 2013-03-01T08:25:11.083 に答える
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を更新して、oracledjangoバックエンド「mysql.connector.django」を使用します。

DATABASES = {
    'default': {
        'ENGINE': 'mysql.connector.django',
         ...
于 2014-04-29T09:30:29.627 に答える