私は使う仮想環境ラッパー私のPython環境を管理します。私のグローバルpostactivate
ファイル(仮想環境を有効にした後に取得したBashスクリプト)には、次の内容が含まれています。
if [ -f 'activate.sh' ]; then
echo 'activate virtualenv settings'
source 'activate.sh'
fi
activate.sh
このファイルは、仮想環境に接続されているプロジェクトにそのファイルが含まれている場合にのみ取得する必要があります。ただし、workon
そのファイルを含むプロジェクトでコマンドを使用すると、次の出力とエラーが発生します。
activate virtualenv settings
/home/…/.virtualenvs/postactivate: Zeile 15: source: activate.sh: Datei nicht gefunden.
したがって、テストではactivate.sh
ファイルが見つかったように見えますが、15行目(つまりsource activate.sh
、エラーが次に変換される行)にエラーが発生します。ファイルが見つかりません)。なぜ?
ベストアンサー1
POSIX準拠モード(asが呼び出された場合、またはisが環境にあるsh
場合)にあるときに引数にスラッシュ文字が含まれていない場合は、代わりにPOSIX requireユーティリティ(sと同等の標準)のように検索されます。POSIXLY_CORRECT
source
bash
$PATH
.
bash
source
スクリプトの場合は、次のことをsh
行う必要があります。
- /standardではなく
.
、notを使用してください。source
sh
- 現在のディレクトリに入る場合は、
. ./file
検索で見つかった最初のエントリをインポートする代わりに使用します。file
. file
file
$PATH