web-dev-qa-db-ja.com

エイリアスを使用してvirtualenvをアクティブ化する

. bin/activateと入力すると、フォルダからpython仮想環境をアクティブ化できます。代わりに、shazamなどの単一のWordエイリアスを入力します。環境をアクティブ化し、マスタープロジェクトフォルダーに変更し、プロジェクトを一覧表示するホームフォルダー(またはその他の場所)。

以下を含む.shファイルを指すエイリアスを.bashrcに作成してみました。

cd ~/path-to-virtual-environment
. bin/activate
cd ~/path-to-master-project-folder
ls -a

許可拒否エラーが発生したため、chmod u+x <script file>を実行しました。スクリプトは実行されますが、VEはアクティブ化されず、プロジェクトフォルダーが一覧表示されている間、シェルはマスタープロジェクトフォルダーにありません。いくつかのガイダンスをいただければ幸いです。ありがとう。

注:別のフォーラムで [〜#〜] answer [〜#〜] を受け取りました。シェルスクリプトは、呼び出される環境を変更しません。代わりに、.bashrc内でShell関数を使用してください。

shazam () {
  source ~/path-to-virtual-environment/bin/activate
  cd ~/path-to-master-project-folder
  ls -a
}
3
landrykid

エイリアスはコマンドのリストを持つことができます:

alias shazm='source ~/path-to-virtual-environment/bin/activate; cd ~/path-to-master-project-folder; ls -a'
1

これは virtualenvwrapperパッケージ のコア機能であり、堅牢で補完的な機能セットです。

Virtualenvwrapperを使用してshazamという名前のvirtualenvを作成するには、次のようにします。

mkvirtualenv shazam

それをアクティブにするには:

workon shazam

アクティブなvirtualenvと同様に、非アクティブ化するには:

deactivate

Virtualenvwrapperを使用すると、多くのユースケースとユーザー構成が可能です。たとえば、すべてのvirtualenvを単一のディレクトリ~/.envsに保持することを好みます。これは構成としてサポートされています。これはオープンソースで積極的に維持されているプロジェクトであり、私はそれを十分に強くお勧めすることはできません。

0
Stew