2015-09-08 22 views
5

MySQLとPython 3でdjangoを実行したいです。virtualenv --no-site-packages -p python3 ./で仮想環境を初期化しました。そして、私はそうピップ凍結Python3の仮想マシンにmysqlclientをインストールできない

django==1.8.3 
wheel==0.24.0 

を与えるその後、私はpip install mysqlclientではmysqlclientをインストールしようとしたが、それは私がそのlibmysqlclient-devpython3-devzlib1g-dev(パッケージがインストールされている

Downloading/unpacking mysqlclient 
Downloading mysqlclient-1.3.6.tar.gz (78kB): 78kB downloaded 
Running setup.py (path:/tmp/pip-build-jpdlrnc8/mysqlclient/setup.py) egg_info for package mysqlclient 

Installing collected packages: mysqlclient 
Running setup.py install for mysqlclient 
building '_mysql' extension 
i586-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC -Dversion_info=(1,3,6,'final',1) -D__version__=1.3.6 -I/usr/include/mysql -I/usr/include/python3.4m -I/home/ondra/zelvovani/include/python3.4m -c _mysql.c -o build/temp.linux-i686-3.4/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -DTAOCRYPT_DISABLE_X86ASM -g -DNDEBUG 
error: command 'i586-linux-gnu-gcc' failed with exit status 1 
Complete output from command /home/ondra/zelvovani/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip-build-jpdlrnc8/mysqlclient/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-fa_6nkh3-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/ondra/zelvovani/include/site/python3.4: 
running install 

running build 

running build_py 

creating build 

creating build/lib.linux-i686-3.4 

copying _mysql_exceptions.py -> build/lib.linux-i686-3.4 

creating build/lib.linux-i686-3.4/MySQLdb 

copying MySQLdb/__init__.py -> build/lib.linux-i686-3.4/MySQLdb 

copying MySQLdb/compat.py -> build/lib.linux-i686-3.4/MySQLdb 

copying MySQLdb/converters.py -> build/lib.linux-i686-3.4/MySQLdb 

copying MySQLdb/connections.py -> build/lib.linux-i686-3.4/MySQLdb 

copying MySQLdb/cursors.py -> build/lib.linux-i686-3.4/MySQLdb 

copying MySQLdb/release.py -> build/lib.linux-i686-3.4/MySQLdb 

copying MySQLdb/times.py -> build/lib.linux-i686-3.4/MySQLdb 

creating build/lib.linux-i686-3.4/MySQLdb/constants 

copying MySQLdb/constants/__init__.py -> build/lib.linux-i686-3.4/MySQLdb/constants 

copying MySQLdb/constants/CR.py -> build/lib.linux-i686-3.4/MySQLdb/constants 

copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.linux-i686-3.4/MySQLdb/constants 

copying MySQLdb/constants/ER.py -> build/lib.linux-i686-3.4/MySQLdb/constants 

copying MySQLdb/constants/FLAG.py -> build/lib.linux-i686-3.4/MySQLdb/constants 

copying MySQLdb/constants/REFRESH.py -> build/lib.linux-i686-3.4/MySQLdb/constants 

copying MySQLdb/constants/CLIENT.py -> build/lib.linux-i686-3.4/MySQLdb/constants 

running build_ext 

building '_mysql' extension 

creating build/temp.linux-i686-3.4 

i586-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC -Dversion_info=(1,3,6,'final',1) -D__version__=1.3.6 -I/usr/include/mysql -I/usr/include/python3.4m -I/home/ondra/zelvovani/include/python3.4m -c _mysql.c -o build/temp.linux-i686-3.4/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -DTAOCRYPT_DISABLE_X86ASM -g -DNDEBUG 

error: command 'i586-linux-gnu-gcc' failed with exit status 1 

---------------------------------------- 
Cleaning up... 
Command /home/ondra/zelvovani/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip-build-jpdlrnc8/mysqlclient/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-fa_6nkh3-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/ondra/zelvovani/include/site/python3.4 failed with error code 1 in /tmp/pip-build-jpdlrnc8/mysqlclient 
Storing debug log for failure in /home/ondra/.pip/pip.log 

で終わった、ピップを使用してジャンゴとホイールを設置しましたここでstackoverflowの他の質問で提案された)。

アイデアはありますか?私は間違って何をしていますか?

答えて

8

pymysqlを使用してください。あなたの問題を解決するはずです。pip3 install pymysqlを使用してください。インストールした後、ファイルディレクトリ内project/project/__init__.py書き込みこの

import pymysql 
pymysql.install_as_MySQLdb() 

注: - このプロジェクトは、あなたのDjangoプロジェクトの名前です。

+0

ありがとうございます。しかし、私はそのような方法でそれを解決する方法を知りたいのですが、私の他のマシンではmysqlclientをインストールすることができ、両方のコンピュータに同じdebianがあり、 –

3

the documentationさんのように、python3-devlibmysqlclient-devをインストールしてみてください。私はそれらのパッケージが必要であることに気づくまで同じ問題を抱えていました。

1

Python 3.5または3.6を使用している場合は、this issueに記載されている問題が発生しているはずです。このライブラリへの貢献の一つを引用

Windows上のMySQLのビルド-pythonのは困難です。 setup.cfgファイルを編集する必要があるので、pipインストールの代わりにソースからビルドする必要があります。

はありがたいクリストフゴールケ(蛍光ダイナミクス研究チーム、カリフォルニア大学アーバイン校)によるPythonの拡張パッケージのための非公式のWindowsバイナリがあるとそこには、このライブラリのための車輪(.whl)をダウンロードすることができます

お使いのシステムやPythonのバージョンがインストールさに応じてダウンロード。

次に、あなただけの(ダウンロードしたファイルのディレクトリに)実行する必要があります。

pip install mysqlclient-....whl 
0

は、プリコンパイルされたPythonパッケージのクリストフゴールケのライブラリからお使いのOSに応じてはmysqlclientためのプリコンパイルされたWHLファイルをダウンロード下の場所からのウィンドウ用。

http://www.lfd.uci.edu/~gohlke/pythonlibs/#vlfd

は今、あなたは、そのファイルとそこに開いたコマンドプロンプトをダウンロードしたディレクトリになりました。

ここでコマンドを実行します。

pip install xxx。whl

Best Luck !!

関連する問題