目前由 virtualenv 命令生成的 activate.fish 文件使用了 fish 中不存在的 'source' 命令。 这会在运行脚本时引发错误。 一个简单的解决方案是将源命令更改为 '.'
详情请见附件图片:
原来的错误
我对 activate.fish 文件所做的编辑
结果
鱼壳网站有不同的说法。
https://fishshell.com/docs/current/commands.html#source
. (单个句点)是 source 命令的别名。 指某东西的用途 。 不赞成使用源代码,并且 . 将在未来版本的鱼中删除。
我该相信谁?
抱歉,我在阅读了鱼壳页面上的第 211 期后匆忙下结论。
显然,在issue #310 中提出了同样的问题,并在最新版本的 fish 中得到了解决
我的系统上的问题是因为 apt-get 默认只安装 fish 2.0.0 并且需要添加一个单独的存储库才能获得引入source
命令的版本 (2.2.0)。 添加 PPA 存储库fish-shell/release-2
并升级 fish 包修复了该问题。 非常感谢您的帮助,并对造成的混乱感到抱歉。
真的吗? 我不是 2.3.1 版的鱼,并且 virtualenv 激活文件的源不起作用。
source ~/.venvs/base/bin/activate
Unsupported use of '||'. In fish, please use 'COMMAND; or COMMAND'.
~/.venvs/base/bin/activate (line 23): if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then
^
from sourcing file ~/.venvs/base/bin/activate
called on standard input
source: Error while reading file '/Users/satkins/.venvs/base/bin/activate'
@sjatkins您正在采购activate
脚本,专为 bash / zsh / 等设计,而不是activate.fish
最有用的评论
@sjatkins您正在采购
activate
脚本,专为 bash / zsh / 等设计,而不是activate.fish