103

virtualenvをfishshellで動作させようとしています。virtualenvをインストールしましたが、bashとzshで正常に動作します。ただし、次のコマンドを実行すると、次の結果が返されますfish: Unknown command 'source'

$ source ~/path/to/bin/activate

virtualenvとfishshellを連携させる方法を知っている人はいますか?

4

8 に答える 8

226

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

于 2012-06-09T16:23:54.790 に答える
37

virtualenvの場合、fishのbinディレクトリに.fish拡張子が付いた個別のアクティベーションファイルがあります。

したがって、次のことを行う必要があります。

$ source ~/path/to/bin/activate.fish

于 2018-12-25T13:33:03.337 に答える
23

これも使用できます:https ://github.com/adambrenecki/virtualfish

次のように入力して、virtualenvをアクティブ化できます。

vf activate <my_env>
于 2013-12-29T20:49:48.720 に答える
6

virtualfishを使用できます。

IanBickingのvirtualenv用のFishShellラッパー。Bourne互換シェル用のDougHellmanのvirtualenvwrapperにやや大まかに基づいています。

ソース: https ://github.com/adambrenecki/virtualfish

ドキュメント: http: //virtualfish.readthedocs.org/en/latest/

于 2015-01-14T16:12:09.827 に答える
2

を使用できない場合は、ディレクトリを:activate.fishに追加するだけです。binPATH

set -gx PATH /path/to/virtualenv/bin $PATH

それはほとんどすべてですactivate.fish(まあ、完全ではありませんが、設定も解除PYTHONHOMEされます(とにかく試したときに事前に設定されていませんでした、YMMV);そしてそれはあなたを台無しにしようとしますfish_prompt)。

または、私は元Bashユーザーで、Fishを使い始めて、Doug Hellmanを見逃しているので、今日、virtualfishと呼ばれる代替品のvirtualenvwrapper作業を開始しました。便利なショートカットがいくつかありますが、これほど完全ではありません。 VEW。

于 2012-07-01T13:25:26.733 に答える
2

(このスレッドは閉じているようですが、解決策を見つけました:)

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]
于 2017-08-23T03:38:15.983 に答える
0

envファイルの場合は、この.env / bin / activate.fish を試して、envファイルがプロジェクトファイル内にあることを確認してください。私の場合は、djangoプロジェクトです。Ttは私のために働いた

于 2021-08-11T11:32:53.700 に答える
0

次のコマンドを使用できます-set VIRTUAL_ENV 'path to the virtual env directory' 例-set VIRTUAL_ENV '/home/aman/Desktop/test/venv'

于 2021-12-02T10:58:37.630 に答える