2017-02-05 9 views
1

特定の仮想環境で実行されたすべてのpipコマンドと、インストール/更新/削除されたパッケージバージョンの記録を残したいと思います。それを行う簡単な方法はありますか?特定の仮想環境ですべてのpipコマンドをログに記録しますか?

また可能であれば、requirements.txt--install-optionなどを含む)を自分の仮想環境の状態からどうやって得るのですか?おそらく、ただの依存関係だけが存在する必要があります。

+0

POSIXシステムを使用している場合、 'pip install foo bar baz>&pip_log.txt'は出力をログに記録します。 – Greg

+0

要求ファイルと 'pip'は望ましい状態システムです。これは変更を無関係にします。要件ファイルのみを使用する(手動変更なし)ことを検討し、その履歴を保持することを検討する必要があります。 –

答えて

1

編集__main__セグメントの先頭にこれを挿入するpipスクリプト:

if __name__ == '__main__': 
    import os 
    env_dir = os.environ['VIRTUAL_ENV'] 
    with open(os.path.join(env_dir, 'pip_log.txt'), 'a') as f: 
     f.write(' '.join(sys.argv[1:]) + '\n') 

これはvirtualenvのディレクトリにpip_log.txtにピップするすべてのコールを記録します。 Pipは、virtualenvのbinフォルダーのactivateスクリプトの横にあります。

0

すべてのコマンドの履歴を表示するにはhistoryコマンドを使用し、ファイルに出力してpipをgrepします。 上記のコメントと同様です。

関連する問題