私は、python virtualenv をセットアップするためのいくつかの Ansible play を作成しており、開発中にも python パッケージを更新してサーバーを再起動しています。pip でパッケージを更新する際に問題が発生しています。これがどのように行われるかはあまり気にしませんが、開発中に virtualenv の python パスにパスを追加してからサーバーを再起動することをお勧めしますが、Ansible でそれを行う方法はまだわかりません。
したがって、私の質問は、virtualenv のサイト パッケージにインストールするローカル git リポジトリをセットアップする方法、または正しい virtualenv を使用してリポジトリの場所を sys.path.insert にセットアップする方法です。
現在、私はやろうとしていました:
sudo pip install ~/workspace/python-repo
パッケージをインストールする前に、Authenicator のクラスの名前を Authen のような完全に間違った名前に変更しました。クラスは、新規インストール中に Authen を示します。次に、クラス名を正しい名前 (Authenticator) に戻し、バージョンを上げて実行します。
sudo pip install ~/workspace/python-repo --upgrade
しかし、サイト パッケージ内の実際のファイルを調べた後も、更新されたファイルではなく Authen 名が表示されます。
開発中にローカル リポジトリを使用して、自分の環境で更新されたファイルをすぐに取得できるようにするにはどうすればよいですか? Ansible を使用して、これを繰り返し可能なプロセスにすることもできます。
これが私がAnsibleでやろうとしていることです。私の最初のプレイは、一度だけ実行したい環境をセットアップすることです。
- name: Install python-repo
local_action: pip name=${python_root}
virtualenv=${working_dir}/development
${python_root} は私の python プロジェクトの場所であり、もちろん作業ディレクトリは新しい virtualenv セットアップです。
それからどういうわけか、virtualenv の python リポジトリを更新する開発プレイが必要です。これは私がこれまで持っているものですが、これも機能しません。
- name: Update python-repo
local_action: pip name=${python_root}
virtualenv=${working_dir}/development
state=latest
- name: Restart services.
local_action: service name=${item} state=restarted
with_items: ${services}