Arch Linux では、virtualenvwrapper をシステム全体にインストールした後、sudo pip2 install virtualenvwrapper
これをユーザーの .bash_profile に追加して、
export WORKON_HOME=/home/myuser/.virtualenvs
export PROJECT_HOME=/home/myuser/work
source /usr/bin/virtualenvwrapper.sh
新しいシェル ウィンドウを起動するたびにエラーが表示されます:-
which: no python in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/bin/core_perl)
-bash: : command not found
virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader, check that virtualenv has been installed for VIRTUALENVWRAPPER_PYTHON= and that PATH is set properly.
これは、virtualenvwrapper.sh スクリプトの 50 行目まで追跡できます。
47 # Locate the global Python where virtualenvwrapper is installed.
48 if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ]
49 then
50 VIRTUALENVWRAPPER_PYTHON="$(\which python)"
51 fi
これは、python 2.7 のインストールに python2 を使用するという arch linux の規則との競合の結果です。
行 50 を に変更するとwhich python2
、すべてが完全に機能し、新しいシェルを起動するたびにエラー メッセージが表示されなくなります。
この問題を解決する適切な方法は何ですか? 現在の OS が arch linux であることを明示的に確認し、if-else 条件を導入して virtualenvwrapper.sh で which python2 を使用し、パッチを virtualenvwrapper の作成者に送信する必要がありますか? または、arch Linux マシンの構成でできることはありますか?