我正在尝试使virtualenv与鱼壳一起使用。我已经安装了virtualenv,它可以与bash和zsh正常工作。但是,运行以下命令将返回fish: Unknown command 'source'
:
$ source ~/path/to/bin/activate
有谁知道如何使virtualenv和鱼壳一起工作。提前致谢。
Answers:
您无需激活即可使用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
active.fish
,但是我希望将virtualenv更新到最新版本以使其正常运行。
您也可以使用它:https : //github.com/adambrenecki/virtualfish
它允许您通过键入以下命令激活virtualenv:
vf activate <my_env>
您可以使用virtualfish。
一个用于Ian Bicking的virtualenv的Fish Shell包装器,有点松散地基于Doug Hellman的Bourne兼容外壳的virtualenvwrapper。
如果无法使用activate.fish
,则可以将bin
目录添加到您的PATH
:
set -gx PATH /path/to/virtualenv/bin $PATH
这几乎完成了所有activate.fish
工作(嗯,不完全是,它也PYTHONHOME
未设置,(无论如何我在尝试之前都没有设置过,YMMV);它试图弄乱您的fish_prompt
)。
另外,我是Bash的前用户,开始使用Fish,却错过了Doug Hellman's的经验virtualenvwrapper
,所以我今天才开始研究一个名为virtualfish的替代产品-它有一些便捷的捷径,您可能会发现它有用,尽管还远远不及完善VEW。
(此线程似乎即将关闭,但我找到了解决方法:)
要通过venv进入新的鱼壳:
begin; set -lx PATH (realpath ./venv)/bin $PATH; fish; end
venv目录为时./venv
。
要停用,只需按ctrl -d或即可exit
。
另一个解决方案,不调用子外壳。
制作并输入虚拟环境:
python3 -m venv ./venv
set -lx PATH (realpath ./venv)/bin $PATH
退出环境:
set -lx PATH $PATH[2..-1]