Python仮想環境

Pythonの仮想environments-を作成するための通常のツールはvenvvirtualenvpewxonshとよく遊ぶ-don't。なぜそうであるのかについては深く掘り下げませんが、一般的な要点は、これらのツールがbash、zsh、およびその他の主流のシェルのためにハックしてハードコードされているということです。

幸いにも、xonshには、Voxという独自の仮想環境マネージャーが同梱されています

Voxの

まず、vox xontribをロードします。

$ xontrib load vox

voxで新しい環境を作成するには、次のコマンドを実行しますvox new <envname>

$ vox new myenv
Creating environment...
Environment "myenv" created. Activate it with "vox activate myenv".

VoxはPython 3のvenvモジュールとしてフードを使用しています。デフォルトでは、環境は格納され~/.virtualenvsますが、$VIRTUALENV_HOME環境変数を設定することで上書きできます

既存の環境をすべて表示するには、次のコマンドを実行しますvox list

$ vox list
Available environments:
    eggs
    myenv
    spam

環境をアクティブにするには、次のコマンドを実行しますvox activate <envname>

$ vox activate myenv
Activated "myenv".

代わりにactivateworkonまたはあなたに電話することができますenter

他の場所に保存されている環境を有効にしたい場合(別のツールによって作成された可能性があるため)、仮想環境のパスに渡すことができます。vox activate

$ vox activate /home/user/myenv
Activated "/home/user/myenv".

現在アクティブな環境を終了するには、またはを実行しますvox deactivatevox exit

$ vox deactivate
Deactivated "myenv".

環境を削除するには、次のコマンドを実行しますvox remove <envname>

$ vox remove myenv
Environment "myenv" removed.

代わりにremove、あなたが呼び出すことができrmdeleteまたはdel

、使用可能なすべてのコマンドを参照して実行するにはあるいはvox helpvox --helpvox -h

Vox is a virtual environment manager for xonsh.

Available commands:
    vox new <env>
        Create new virtual environment in $VIRTUALENV_HOME

    vox activate (workon, enter) <env>
        Activate virtual environment

    vox deactivate (exit)
        Deactivate current virtual environment

    vox list (ls)
        List environments available in $VIRTUALENV_HOME

    vox remove (rm, delete, del) <env> <env2> ...
        Remove virtual environments

    vox help (-h, --help)
        Show help

virtualenv似たようなプロンプト

デフォルトのプロンプトには含まれていますが、プロンプトをカスタマイズして、同じ方法で自動的に更新することができますvirtualenv

'{env_name}'あなた変数に変数を追加するだけです$PROMPT

$PROMPT = '{env_name: {}}' + restofmyprompt

これが機能するには、xontrib をロードする必要ありませvox詳細については、プロンプトのカスタマイズを参照してください