Windowsでpipを使用して、virtualenvにmysql-pythonをインストールしようとしています。最初は、同じエラーが表示されていました ここで報告 ですが、そこでの答えも私にとってはうまくいきました。今、私はこの次のエラーを受け取っています:
_mysql.c(34) : Fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory
(virtualenvではなく)通常のpythonのsite-packages/MySQLdbディレクトリにシンボリックリンク(Win7)すると
Error loading MySQLdb module: No module named _mysql
ここではかなり迷っています。ポインタはありますか?
Mysql 5.5およびconfig-win.hのアップデートに関する目に見えない問題
5.5 config-winで。実際には、Windowsの別のコネクタに移動しました。つまり:
C:\ Program Files\MySQL\Connector C 6.0.2\include
この問題を克服するには、「devビット」(実際にはconnectorに接続する)をダウンロードするだけでなく、mysqldbインストールスクリプトを変更してincludeフォルダーを追加する必要があります。私はそれとして簡単な汚い修正をしました。
site.cfg:
# Windows connector libs for MySQL.
connector = C:\Program Files\MySQL\Connector C 6.0.2
setup_windows.pyで行を見つけます
include_dirs = [ os.path.join(mysql_root, r'include') ]:
追加します:
include_dirs = [ os.path.join(options['connector'], r'include') ]
その後。
Glyいですが、mysqldbの作成者が動作を変更するまで動作します。
言及するのをほとんど忘れていました。同じ方法で、libsに同様の追加エントリを追加する必要があります。
library_dirs = [ os.path.join(options['connector'], r'lib\opt') ]
つまり、setup_windows.pyは次のようになります。
...
library_dirs = [ os.path.join(mysql_root, r'lib\opt') ]
library_dirs = [ os.path.join(options['connector'], r'lib\opt') ]
libraries = [ 'kernel32', 'advapi32', 'wsock32', client ]
include_dirs = [ os.path.join(mysql_root, r'include') ]
include_dirs = [ os.path.join(options['connector'], r'include') ]
extra_compile_args = [ '/Zl' ]
...
私がしなければならなかったのは、Oracleに移動して、MySQL Connector C 6.0.2をダウンロードするだけです(新しいものは動作しません!)、典型的なインストール。
https://downloads.mysql.com/archives/c-c/
カスタムインストール経由ですべてのオプションのエクストラ(エクストラバイナリ)を含めるようにしてください。これらがないと、win64.msiでは機能しませんでした。
それが完了したら、pycharmsに進み、インストールするMySQL-python> = 1.2.4パッケージを選択しました。構成などを更新する必要はありません。これは私にとって最も簡単なバージョンでした。
それが役に立てば幸い
受け入れられたソリューションは、mysql-pythonの新しいバージョンでは機能しなくなったようです。インストーラーは、編集する_site.cfg
_ファイルを提供しなくなりました。
Mysql-pythonをインストールする場合は、C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\include
を探します。 MySQLの64ビットインストールがある場合、次を呼び出すことができます。
mklink /d "C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\include" "C:\Program Files\MySQL\MySQL Connector C 6.0.2\include"
pip install mysql-python
_を実行します受け入れられた回答は古くなっています。提案のいくつかはすでにパッケージに組み込まれていましたが、config-win.hとmysqlclient.libが見つからないというエラーが引き続き発生していました。
インストール mysql-connector-c-6.0.2-win32.msi
司会者用のZipファイルもありますが、
mysqlclient.lib
はlib
ディレクトリにありますが、インストーラーはlib/opt
。 site.cfgまたはsetup_windows.pyをハッキングする代わりに、msiはジョブを実行します。
pip install mysql-python
追伸私はもうMySQLを使用していないので、私の答えも古くなっているかもしれません。
私はこの投稿が非常に古いことを知っていますが、それはまだグーグルのトップヒットとして登場しているので、この問題にさらに情報を追加します。
私はOPと同じ問題を抱えていましたが、提案された答えのどれも私にとってはうまくいかないようでした。主に、「config-win.h」がコネクタインストールフォルダのどこにも存在しなかったためです。
MySQLインストーラーから提案された最新のConnector C 6.1.6を使用していました。
ただし、これは最新のMySQL-pythonパッケージ(1.2.5)ではサポートされていないようです。インストールしようとすると、C Connector 6.0.2を明示的に探していることがわかりました。
"-IC:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\include"
このバージョンを https://dev.mysql.com/downloads/file/?id=378015 からインストールすることにより、pythonパッケージは問題なくインストールされました。
おそらく答えは、MySQL Developer Buildをインストールし、構成中に「C headers\libs」オプションを選択することです。 (このエントリで報告されているとおり:Python)
さらに良い解決策は、プリコンパイル済みビルドをインストールすることです: http://www.technicalbard.com/files/MySQL-python-1.2.2.win32-py2.6.exe
Pipが「MySQLdb」のインストールに失敗した場合、回避策はまずこのリンクからダウンロードしてマシンにインストールすることです。
http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python
次に、すべてのMySQL *および_mysql *ファイルとディレクトリをシステムからPython Virtualenv dirにコピーします。
c:\Python27\Lib\site-packages
(またはシステムPythonへの同様のパス)からc:\my_virtenv\Lib\site-packages
(virtualenvへのパス)
MySQLdbでも頭痛の種がたくさんありました。
公式のMysQL Python Connectorを使用しないのはなぜですか?
easy_install mysql-connector-python
または、ここからダウンロードできます: http://dev.mysql.com/downloads/connector/python/
ドキュメント: http://dev.mysql.com/doc/refman/5.5/en/connector-python.html
最も簡単な解決策:
下のリンクからMySQL Connector C 6.0.2をダウンロードしてインストールします。
http://dev.mysql.com/downloads/connector/c/6.0.html#downloads
MySQL Connector C 6.0.2をインストールした後、フォルダー「MySQL Connector C 6.0.2」を「C:\ Program Files\MySQL」から「C:\ Program Files(x86)\ MySQL」にコピーします。
次に入力
pip install MySQL-python
それは間違いなく動作します。
Mysqlの開発ビットをインストールすると、config-win.h
私が持っていたエラー、別のものを投げた。 Failed to load and parse the manifest. The system cannot find the file specified.
この投稿で私の問題に対する答えを見つけました: http://www.fuyun.org/2009/12/install-mysql-for-python-on-windows/ 。
ファイル 'C:\ Python26\Lib\distutils\msvc9compiler.py`をvirtualenvにコピーし、上記のリンクで提案された編集を行ったところ、問題なく動作しています。
私の場合、私の修正は、c:\ Program Files\MySQL\MySQL Connectorにあるmysql-connector-c-6.0.2-win32.msi(前の投稿のユーザー名バッファーから参照)から作成されたフォルダーをコピーすることでした。 C 6.0.2で、プログラムファイル(x86)を使用して新しいパスを作成し、そこにコンテンツを貼り付けます。これは、32ビットと64ビットのマシン間でインストールが適切にチェックされないためです。
したがって、新しいパスはC:\ Program Files(x86)\ MySQL\MySQL Connector C 6.0.2です。これはインストーラーが探しているパスなので、インストーラーがファイルを見つけるのに役立つようにファイルを貼り付けました。これにより、config-win.hが見つからないというエラーが発生していました。
Windows
で機能したソリューション:32
- bitおよび64
-ビットバージョンの MySQL Connector/C 6.0.2 。開いた Command Prompt
および実行:
pip install mysql-python
試す ActivePython 、
pypm -E C:\myvirtualenv install mysql-python
Mingcai SHENの方法に従いました。
しかし、私の場合は、コネクタを
connector = C:\Program Files\MySQL\MySQL Connector.C 6.1
また、library_dirsは次のように変更されます。
library_dirs = [ os.path.join(connector, r'lib\vs10') ]
vs9
ディレクトリがないためです。動作しますが、理由はわかりません。
Vs2012がインストールされており、コネクタのlibディレクトリにはvs10
とvs11
のみがあり、vs11
は機能しません。インストールしたVCForPyhton27.misはvs9
をサポートしているようです。
とにかく、これは動作します。そして、あなたがそれを危険にさらしたいなら、あなたは試すことができます。
_building '_mysql' extension
creating build\temp.win-AMD64-2.7
creating build\temp.win-AMD64-2.7\Release
C:\Users\TimHuang\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\AMD64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Dversion_info=(1,2,5,'final',1) -D__version__=1.2.5 "-IC:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\include" -Ic:\python27\include -Ic:\python27\PC /Tc_mysql.c /Fobuild\temp.win-AMD64-2.7\Release\_mysql.obj /Zl
_mysql.c
_mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory
_
_pip install mysql-python
_を試すときにこれが表示される場合、最も簡単な方法はコピーすることです
_C:\Program Files\MySQL\MySQL Connector C 6.0.2
_からC:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2
シンボリックリンクを作成しようとしましたが、WindowsはC:\WINDOWS\system32>mklink /d "C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\include" "C:\Program Files\MySQL\MySQL Connector C 6.0.2\include" The system cannot find the path specified.
を投げ続けます
Bugagottiからの回答に従いましたが、mysql-python-1.2.5のWindows(Win7 64ビット、py27、mysqlコネクタ6.1がインストールされている)では機能しないため、mysql-python- 1.2.5:
まず、site.cfg:
connector = C:\Program Files\MySQL\MySQL Connector C 6.1
第二に、_mysql.c:
#if defined(MS_WINDOWS)
#include <config-win.h>
#else
#include "my_config.h"
#endif
に:
#if 0 /*defined(MS_WINDOWS)*/
#include <config-win.h>
#else
#include "my_config.h"
#endif
そして、これらの変更により、config_win.hの問題はなくなりますが、リンクの問題はまだあります。
LINK : fatal error LNK1181: cannot open input file 'mysqlclient.lib'
このため、setup_windows.pyを変更しました。
library_dirs = [ os.path.join(connector, r'lib\vs9') ] ## the original value was r'lib\opt'
その後、ようやく機能しました。
私にとって、次のアプローチは問題を解決しました(Python 3.5.2; mysqlclient 1.3.9):
c:\Program Files\MySQL\MySQL Connector C 6.0.2\
_ディレクトリをc:\Program Files (x86)\MySQL\MySQL Connector C 6.1\
にコピーしますpip install mysqlclient
_を実行しますc:\Program Files (x86)\MySQL\MySQL Connector C 6.1\
を削除ここでの問題は、ビルドスクリプトがx86プログラムファイルディレクトリ内のCコネクタインクルードを見つけようとしているため、x64ビットインストール所有者のみを対象としています。
https://dev.mysql.com/downloads/connector/c/6.0.html
からコネクタのバージョンをダウンロードします。私の場合、64ビットのコネクタをインストールし、pythonは32ビットでした。したがって、プログラムファイルからプログラムファイルにMySQLをコピーする必要がありました。 86)
Window10の手順:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python
に移動しますmysqlclient‑1.4.2‑cp37‑cp37m‑win32.whl
はpython3.7およびIntel CPUで動作します。pip install mysqlclient-1.4.2-cp37-cp37m-win32.whl
を実行しますこちらからダウンロード
次に、このwhlをpipインストーラーでインストールします。ダウンロードしたフォルダーでShiftキーを押しながら右クリックし、Open powershell here
を選択します。次に、コマンドpip install package_name.whl
を使用してインストールします
Visual Studioを使用しているかどうかにかかわらず、仮想環境でこれを行う場合は、easy_install MySQL-python