Ansible(v1.4.4)とPython(2.7.6)をHomebrew経由でインストールしました。Mac(Mavericks)にローカル開発マシンをセットアップするためのAnsibleプレイブックを作成しています。 mysql_dbモジュールを使用してMySQLデータベースをインポートするステップに到達すると、Ansibleは「python mysqldbモジュールが必要です」と不平を言います。そのため、pim(Hombrewから)でインストールしました:pip install MySQL-python
。再実行後、同じエラーメッセージが表示されます。cat /usr/local/bin/ansible-playbook
の出力は次のとおりです。
#!/bin/bash
PYTHONPATH="/usr/local/Cellar/ansible/1.4.4/libexec/lib/python2.7/site-packages" exec "/usr/local/Cellar/ansible/1.4.4/libexec/bin/ansible-playbook" "$@"
Pipを使用してインストールすると、パッケージは「/usr/local/lib/python2.7/site-packages
」に配置されますが、Ansibleには独自のサイトパッケージフォルダーがあるため、グローバルパッケージがAnsibleに必要なものと干渉しません。 MySQL-pythonをAnsibleのsite-packagesフォルダーにインストールする最良の方法は何ですか?
デフォルトでは、AnsibleはPython install at /usr/bin/python
特に明記しない限り。 Homebrew Pythonを使用する場合は、これをインベントリファイルに追加します。
[local]
localhost ansible_python_interpreter=/usr/local/bin/python
上記の答えはどちらもうまくいきませんでした。おそらくヨセミテと関係があります。
以下は私のために働きました:
PYTHONPATH=/usr/local/Cellar/ansible/1.8.2/libexec/lib/python2.7/site-packages/ \
easy_install -ad ${PYTHONPATH} passlib
この後、var_Prompt
に暗号化されたパスワードを入力することができました。
Homebrew ansibleでは、独自のpythonを使用します。次のコマンドでライブラリをパッケージ化できます
/usr/local/Cellar/ansible/2.2.1.0/libexec/bin/pip install MySQL-python