如何让virtualenv与鱼壳一起工作
我试图让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那样被广泛使用,所以可能有问题 – 查看提交历史logging显示了最近的修复:
https://github.com/pypa/virtualenv/commits/develop/virtualenv_embedded/activate.fish
你也可以使用这个: https : //github.com/adambrenecki/virtualfish
它允许你通过input以下命令激活一个virtualenv:
vf activate <my_env>
如果你不能使用activate.fish
,你可以添加bin
目录到PATH
:
set -gx PATH /path/to/virtualenv/bin $PATH
这几乎是所有的activate.fish
(不完全是,它也PYTHONHOME
,(当我尝试了YMMV的时候没有事先设置);它试图弄乱你的fish_prompt
)。
或者,我是一个前Bash用户,他开始使用Fish并且错过了Doug Hellman的virtualenvwrapper
,所以我今天刚开始研究一个名为virtualfish的替代品 – 它有一些你可能会觉得有用的方便快捷键,尽pipe它还远远没有完成作为VEW。
你可以使用virtualfish。
Ian Bicking的virtualenv的鱼壳包装,有点松散地基于Doug Hellman的Bourne兼容shell的virtualenvwrapper。
来源: https : //github.com/adambrenecki/virtualfish
文件: http : //virtualfish.readthedocs.org/zh/latest/
(这个线程似乎接近被closures,但我find了解决scheme:)
为了进入一个新的带有venv envrion的鱼壳:
begin; set -lx PATH (realpath ./venv)/bin $PATH; fish; end
当venv目录是./venv
。
要停用,只需按Ctrl-d或exit
。
另一个解决scheme,它不会调用一个子shell。
制作并input一个venv envrionment:
python3 -m venv ./venv set -lx PATH (realpath ./venv)/bin $PATH
退出环境:
set -lx PATH $PATH[2..-1]