OS X 10.9 上の Python 2.7.8 および Sublime Text 3 を使用して MySQL Python Connector にアクセスする方法

StackOverflow https://stackoverflow.com//questions/25009593

質問

OS X 10.9 上で Python 2.7.8 および Sublime Text 3 で動作するように MySQL をセットアップしようとしているので、MySQL Python コネクタをインストールしました。「import mysql.connector」を実行しようとすると、「ImportError:」が返されます。コネクタという名前のモジュールがありません。」

コネクタを使用して MySQL にアクセスできるようにするには、これをどのように構成すればよいですか?

詳細:

-Sublime はアプリケーションの下にインストールされます

-Sublime Text 3 はデフォルトで Python 3 を使用するため、Python 2.7 ビルド システムをセットアップする必要がありました。このシステムの私のコードは次のとおりです。

  "cmd": ["/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/bin/python2.7", "-u", "$file"],
  "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
  "selector": "source.python2"

-Python は次の場所にインストールされます

 /usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/bin/python2.7

-MySQL 実行可能ファイルは次の場所にインストールされます。

/usr/local/mysql-5.6.19-osx10.7-x86_64/bin

-コネクタにはシンボリックリンクがあります

/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/mysql/connector

に完全にインストールされています

/usr/local/lib/python2.7/site-packages/mysql/connector

さらに、必要なディレクトリをパスに追加するために、以下を .bash_profile に追加しました。

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH

# trying to get mysql access
PATH = "/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:${PATH}"
export PATH

単純な何かが欠けていることは確かですが、これほど多くの設定を行うのは初めてで、グーグル検索や何が間違っているのかを見つけるのに非常に多くの時間を費やしました。コネクタモジュールにアクセスするには何を変更する必要があるか知っている人はいますか?前もって感謝します。

役に立ちましたか?

解決

Pythonはシェルを使用しません $PATH 変数を使用してインポート可能なモジュールを見つけるには、というリストを使用します。 sys.path Pythonで。インタプリタを実行して出力すると、 sys.path そこから、次のことがわかるはずです。 site-packages ディレクトリはすでに検索されています。さらにディレクトリを追加するようリクエストできます。 sys.path プログラムの実行前にそれらを追加することで、 $PYTHONPATH シェル環境変数。

構造から分かるのは、 mysql のパッケージです connector サブパッケージなので、シンボリックリンクを1つ上のディレクトリにする必要があると思います(つまりmysql ディレクトリ)から必要なものを取り出します __init__.py これにより、パッケージとして認識されます。

一般に、使い方を学ぶことをお勧めします。 pip いわゆる仮想環境にモジュールとパッケージをインストールします。これにより、(たとえば) 異なるプログラムで同じモジュールの異なるバージョンを使用できるようになります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top