私はフィッシュシェルでvirtualenvを動作させようとしています。 virtualenvをインストールしましたが、bashとzshで正常に動作します。ただし、次のコマンドを実行すると、fish: Unknown command 'source'
が返されます。
$ source ~/path/to/bin/activate
誰もがvirtualenvと魚のシェルを一緒に動作させる方法を知っていますか?前もって感謝します。
Virtualenvを使用するためにアクティブ化する必要はありません。便利です。 virtualenvを直接使用できます。
virtualenv venv
./venv/bin/pip install foo
あなたは魚を使って試しましたか:
. venv/bin/activate.fish
おそらくbashほど広く使用されていないため、問題が発生する可能性があります。コミット履歴を見ると、最近の修正が示されています。
https://github.com/pypa/virtualenv/blob/master/virtualenv_embedded/activate.fish
これも使用できます: https://github.com/adambrenecki/virtualfish
次のように入力して、virtualenvをアクティブにできます。
vf activate <my_env>
Virtualfishを使用できます。
Ian Bickingのvirtualenvのフィッシュシェルラッパー。Bourne互換シェル用のDoug Hellmanのvirtualenvwrapperにやや大まかに基づいています。
_activate.fish
_を使用できない場合は、bin
ディレクトリをPATH
に追加するだけです。
_set -gx PATH /path/to/virtualenv/bin $PATH
_
それはほとんどすべて_activate.fish
_が(まあ、まったくそうではありませんが、PYTHONHOME
も解除します(とにかく試してみたときにYMMVを事前に設定していませんでした);そして、_fish_Prompt
_)。
あるいは、私はFishを使い始めてDoug Hellmanのvirtualenvwrapper
を見逃している元Bashユーザーなので、今日作業を始めました virtualfishと呼ばれる代替 -いくつかの便利な機能があります便利かもしれませんが、VEWほど完全ではありません。
Virtualenvの場合、fishのbinディレクトリには、.fish
拡張子。
だからあなたはする必要があります:
$ source ~/path/to/bin/activate.fish
(このスレッドは閉じられているようですが、解決策が見つかりました:)
Venv環境で新しいフィッシュシェルに入るには:
begin; set -lx PATH (realpath ./venv)/bin $PATH; fish; end
venvディレクトリが./venv
の場合。
無効にするには、ctrl-dまたはexit
のみを使用します。
子シェルを呼び出さない別のソリューション。
Venv環境を作成して入力します。
python3 -m venv ./venv
set -lx PATH (realpath ./venv)/bin $PATH
環境を終了します。
set -lx PATH $PATH[2..-1]