MySQLとWindowsのPythonの統合


102

MySQLをPythonでWindowsシステムで使用するのは難しいと感じています。

現在Python 2.6を使用しています。提供されているセットアップスクリプトを使用して、MySQL-python-1.2.3b1(Python 2.6で動作するはずですか?)ソースコードをコンパイルしようとしました。セットアップスクリプトが実行され、エラーは報告されませんが、_mysqlモジュールは生成されません。

また、MySQLをPython 2.5に設定してみましたが、うまくいきませんでした。2.5の使用に関する問題は、Python 2.5がVisual Studio 2003でコンパイルされていることです(提供されたバイナリを使用してインストールしました)。WindowsシステムにVisual Studio 2005を使用しています。したがって、setuptoolsは_mysqlモジュールの生成に失敗します。

何か助け?


2
これが尋ねられてから3年が経過し、最後の高票の回答から2年が経過したため、以下のPython 3.2の最新の回答を参照(またはwiki.python.org/moin/MySQLを参照)
Eran Medan

回答:


127

python-mysqldbのダウンロードページ。このページには、Python 2.5、2.6、および2.7の32ビットバージョンと64ビットバージョンのバイナリが含まれています。

非推奨の警告を取り除くことについての議論もあります

更新:これは古い答えです。現在、PyMySQLの使用をお勧めします。それは純粋なpythonなので、すべてのOSを同等にサポートします。これは、ほとんどmysqldbのドロップイン置き換えであり、python 3でも動作します。インストールする最良の方法は、pipを使用することです。ここからインストールでき(詳細はこちら)、次のコマンドを実行します。

pip install pymysql

最初にリンクされた実行可能ファイルがPython 2.6で動作することを誰かが確認できますか?インストールスプラッシュスクリーンには、それは2.5だと書かれていますが、それを作成した人がそのドキュメントの行を更新していないのではないかと思います。
ジョンC

Python 2.7 x64をインストールしましたが、MySQLdbのインポート中に「ImportError:No module named _mysql_windows.api」エラーが発生します。plsは誰でも私がこの問題を解決するのを助けます。
Vilva

4
よくやった後pip install pymysqlsyncdb行方不明に不満MySQLdbモジュール。
Shailen 2013

Windows 8.1 64ビットシステムでこのコマンドを実行している間、次のように表示されます。 ImportError: 'pkg_resources'という名前のモジュールはありません
hizbul25

@shailenTJ(と同様の問題を持つ誰もが)見てここに
itsadok

31

これはおじいちゃんのアドバイスのように読めるかもしれませんが、ここでのすべての答えは最善の方法について言及していません。python.orgwindowsバイナリの代わりにActivePythonをインストールしてください。WindowsでのPython開発がなぜこんなにピタなのか、ずっと長い間疑問に思っていました-activestate pythonをインストールするまで。私は彼らと提携していません。それはただの真実です。すべての壁に書いてください:WindowsでのPython開発= ActiveState!あなたはそれからちょうどpypm install mysql-pythonそしてすべてがスムーズに動作します。コンパイル乱交なし。奇妙なエラーはありません。恐怖なし。5分後にコーディングを開始し、実際の作業を開始してください。これがWindowsで実行する唯一の方法です。本当に。


2
ビジネスエディションのサブスクリプションが必要なかった場合、それは完璧なソリューションになります...
Matheus Moreira

4
@ matheus.emm-Windows 32ビットにMySQLdbをインストールするためにBusiness Editionは必要ありません。
Sridhar Ratnakumar

7
@ matheus.emm-無料でアクセスするには、ActivePython 32ビットをWindows 7 64ビットOSにインストールしてから、mysql-pythonをインストールします。ActivePython 64ビットでは、パッケージのインストールにBEサブスクリプションが必要です。
Sridhar Ratnakumar

2
これは素晴らしいアドバイスです。本番環境でPythonを真剣に使用しているのであれば、ビジネスエディションはそれだけの価値があると思います。それはあなたに月に数時間の仕事を節約するなら、それはそれ自体で儲けます。これらすべての構成上の問題により、オープンソースのビジネスモデルを思い出します。「ソフトウェアを無料で提供しますが、インストールや使用が難しく、マニュアルやサポートを購入する必要があります。」問題は、これらのプロジェクトの多くがサポートを提供または販売していないことです。なぜなら、彼らはオープンソースを、それが意図したものであるビジネスモデルではなく、イデオロギーとして見なしているからです。lolz
Dana Holt、

1
activepythonコミュニティエディションを使用してインストールするだけで、魅力的に機能しました。強く推奨
クリーバーゴンカルベス

15

Pythonの初心者がPythonエコシステムを学ぶので、これを完了しました。

  1. setuptoolsのインストール手順

  2. MySQL 5.1をインストールします。ここから97.6MB MSIをダウンロードします。Cライブラリが含まれていないため、Essentialsバージョンは使用できません。
    必ずカスタムインストールを選択し、開発用のツールやライブラリをインストール用にマークしてください。これはデフォルトでは行われません。これは、Cヘッダーファイルを取得するために必要です。
    インストールディレクトリで「include」という名前のフォルダーを探して、これが正しく行われたことを確認できます。EG C:\ Program Files \ MySQL \ MySQL Server 5.1 \ include。.hファイルがたくさんあるはずです。

  3. ここからMicrosoft Visual Studio C ++ Express 2008をインストールしますこれは、Cコンパイラを取得するために必要です。

  4. 管理者としてコマンドラインを開きます(Cmdショートカットを右クリックして[管理者として実行]を選択します。これらをインストールしたは必ず新しいウィンドウを開いてください。そうしないと、パスが更新されず、インストールは引き続き失敗します。

  5. コマンドプロンプトから:

    easy_install -b C:\ temp \ sometempdir mysql-python

    それは失敗します-大丈夫です。

    一時ディレクトリC:\ temp \ sometempdirでsite.cfgを開き、「registry_key」設定を次のように編集します。

    registry_key = SOFTWARE \ MySQL AB \ MySQL Server 5.1

    今あなたの一時ディレクトリにCDを入れてください:

    python setup.py clean

    python setup.py install

    あなたはロックする準備ができているはずです!

  6. Python DB APIの学習を開始するための非常に簡単なスクリプトを次に示します(必要な場合)。


7

1人がpython2.6用のmysqlを正常に構築し、リンクを共有した場所が見つかりました。 。http:

... MySQLdbのインポート中に警告が表示される場合がありますが、これは問題ありません。

C:\ Python26 \ lib \ site-packages \ MySQLdb__init __。py:34:DeprecationWarning:setsモジュールは非推奨ですset import ImmutableSet


5

何についてpymysql?それは純粋なPythonであり、mysql-pythonのコンパイルとインストールの困難を回避して、かなりの成功を収めてWindowsで使用しました。



2

2.5(および2.4)バイナリは、2.6のみがインストールされている場合、インストールに失敗します
David Sykes

バージョンが一致する必要があるためです。MySQL-Python 2.6 for Windowsへのリンクがこのブログ投稿にありますが、まだ試していません:timvalenta.wordpress.com/2009/02/04/python-26-mysql
Dave Webb


2

Python 3.4では、http: //www.lfd.uci.edu/~gohlke/pythonlibs/からmysqlclient をpip install mysqlclientでインストールし、動作しています。


2

myPySQLを使用してみることができます。使い方はとても簡単です。Windowsのコンパイルは不要です。何らかの理由でコンパイルする必要がある場合でも、PythonとVisual Cのみをインストールする必要があります(mysqlではありません)。

http://code.google.com/p/mypysql/

幸運を


1

(pylons / pyramid)virtualenvでpythonを実行しているため、以前にリンクされたバイナリインストーラーを(便利に)実行できませんでした。

ウィリーの答えのある手順に従って問題が発生しましたが、問題は(おそらく)私がWindows 7 x64インストールを実行していることであると判断しました。 「HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ MySQL AB \ MySQL Server 5.5」でバージョン5.5を実行しています。

ただし、「HKEY_LOCAL_MACHINE \」をパスに含めることはできません。そうしないと失敗します。

また、手順3と4の間で再起動を行う必要がありました。

これをすべて実行した後、IMOはcygwinからPython開発環境全体を実行する方が賢明でした。




0

また、使用することができますpyodbcのMySQLのConnector / ODBC WindowsにMySQLを使用します。 Unixodbcは、コードをLinuxで互換性のあるものにするためにも使用できます。Pyodbcは標準のPython DB API 2.0を使用するため、MySQL / PostgreSQL / SQLite / ODBC / JDBCドライバーなどの切り替えをそのまま使用する場合は、比較的簡単です。



0

MySQLdbでのインストールのトラブルにうんざりして、pymysqlを試しました代わりにた。

簡単なセットアップ。

git clone https://github.com/petehunt/PyMySQL.git
python setup.py install

APIもほとんど同じです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.