2016-09-16 9 views
0

上記以外に、私はvirtualenvとvirtualenvwrapperを使用しています。 MariaDBサーバー10.1.17はdnf install経由でインストールされましたMySQL/MariaDBをFedora 24のDjango 1.10.1とPython 3.5で動作させることができませんか?

私は最初のDjangoチュートリアルで作業しています。私のrunserverコマンド:

(djTut3)$ python manage.py runserver 

実行してください。マイグレーションに関する警告が表示されます。ここではパート2では

、:https://docs.djangoproject.com/en/1.10/intro/tutorial02/

私は走った:

(djTut3)$ python manage.py migrate 

を指示し、次のエラーを得たとして:

ImportError: No module named 'MySQLdb' 
During handling of the above exception, another exception occurred: 
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb' 

私が検索をたくさんやった、と試してみました以下のもの(他のものの中でも)は、主にSOから:

===

$ sudo dnf install MySQL-python 
<No error> 

$ python3 manage.py migrate 
<Same errors as before> 

$ sudo dnf install mariadb-devel 
Skipping packages with conflicts: 
(add '--best --allowerasing' to command line to force their upgrade) 

$ sudo dnf install mariadb-devel --best --allowerasing 
<No error> 

$ python3 manage.py migrate 
<Same errors as before> 

$ pip3 install mysql-python 
ImportError: No module named 'ConfigParser' 

$ pip3 install mysql-connector 
<No error> 

$ pip3 install mysql-client 
_mysql.c:40:20: fatal error: Python.h: No such file or directory 
#include "Python.h" 
compilation terminated. 
error: command 'gcc' failed with exit status 1 

$sudo dnf install python-devel mysql-devel 
<already installed> 

===

今、私はまだ

(djTut3)$ python manage.py migrate 

が仕事を得ることができない、と

(djTut3)$ python manage.py runserver 

migrateコマンドと同じエラーを与えます。

私のsettings.pyには含まれています:

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.mysql', 
     'NAME': 'djTut3', 
     'USER': os.environ['DB_USERNAME'], 
     'PASSWORD': os.environ['DB_PASSWORD'], 
     'HOST': '127.0.0.1', 
     'PORT': '', 
    } 
} 

誰もがこれでいくつかの助けを提供することはできますか?

お返事ありがとうございます。

答えて

1

これは、OSパッケージマネージャではなく、pipでPythonパッケージをインストールする理由です。 pip3で試したときのエラーから分かるように、MySQLdbはPython 3では利用できません。

mysql-clientをインストールする際に問題が発生したのは、python-develパッケージが必要な場合、またはFedoraと同等のものが必要な場合です。それはdnfインストールになります。

しかし、あなたがmysql-connectorで成功したので、それを使うことができます。 'django.db.backends.mysql''mysql.connector.django'に置き換えて、that library's documentationに示すようにDjangoを使用するように設定する必要があります。

+0

設定ファイルで 'django.db.backends.mysql'を 'mysql.connector.django'に変更しました。今は 'python manage.py runserver'が動作します。しかし、 'python manage.py migrate'が実行されても、それはエラーを生成します: ' mysql.connector.errors.DatabaseError:1265:行1で 'applied'カラムのデータが切り捨てられます – jazcap53

+0

上記例外の処理中に、 django.db.utils.DatabaseError:行1で 'applied'カラムのデータが切り捨てられました。 ' この新しい問題を検索すると、設定変更を元に戻すという提案が得られましたが、これは役に立ちませんでした。それ以上のアイデアはありますか?私は今、エラーが出migrate'再実行している 'のpython manage.pyで – jazcap53

+0

: ' mysql.connector.errors.ProgrammingError:1050(42S01)は:テーブル「たdjango_content_type」は、既に上記の例外の取り扱い中 存在し、別の例外が発生しました: django.db.utils.ProgrammingError:テーブル 'django_content_type' already exists' – jazcap53

関連する問題