web-dev-qa-db-ja.com

Python仮想環境をソースするbashスクリプト

python仮想環境をロードするとき、実行する必要があります:

source venv/bin/activate

このコマンドは常に実行する必要があるため、このコマンドのエイリアスが必要です。そこで、以下を「load.sh」というファイルに入れます。

#!/bin/bash
source venv/bin/activate

そして走った

chmod +x load.sh

ただし、今は./load.shを実行しても何の影響もありません。私の疑惑は、Wordの「ソース」が問題である可能性があるということです。しかし、私にはわかりません。何か案は?ありがとう。

2
Neil

source venv/bin/activateコマンドは、load.shの環境を変更します。 load.shが終了すると、この環境は忘れられます。また、$HOMEディレクトリにいる場合にのみ機能します。

あなたが本当に望んでいるのは、~/.bashrcに追加することだと思います。

alias venv="source $HOME/venv/bin/activate"

その後

venv

トリックを行います。

3
waltinator

もう1つの方法は、virtualenvwrapperを使用することです。

pip install virtualenvwrapperを使用してインストールできます(Python3の場合はpip3を使用)。
その後、.bashrcファイルの最後に次の行を追加します。

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source ~/.local/bin/virtualenvwrapper.sh
export WORKON_HOME=~/.virtualenvs
export PIP_VIRTUALENV_BASE=~/.virtualenvs
export PIP3_VIRTUALENV_BASE=~/.virtualenvs

保存して終了し、.bashrcを実行して(一度だけ)source ~/.bashrcを再ロードする必要があります。
その後、envを作成するたびに、mkvirtualenv <your_env_name>を実行します。
さらに、環境で作業したい場合、または環境を切り替えたい場合は、workon <env_name>を実行します。
環境を非アクティブ化する場合は、deactivateを実行します。

1
singrium