O arquivo activate.fish gerado atualmente pelo comando virtualenv usa o comando 'source' que não existe no fish. Isso gera um erro na execução do script. Uma solução fácil é alterar o comando de origem para um '.'
Veja as imagens em anexo para obter detalhes:
o erro original
a edição que fiz no arquivo activate.fish
o resultado
O site da concha de peixe conta de forma diferente.
https://fishshell.com/docs/current/commands.html#source
. (um único ponto) é um apelido para o comando de origem. O uso de . foi preterido em favor da fonte e. será removido em uma versão futura do fish.
Quem sou eu para acreditar?
Desculpe, cheguei a uma conclusão depois de ler a edição # 211 na página de conchas de peixe.
Aparentemente, a mesma preocupação foi levantada na edição # 310 e foi abordada na versão mais recente do fish
O problema em meu sistema era porque o apt-get instala apenas o fish 2.0.0 por padrão e um repositório separado precisa ser adicionado para obter a versão (2.2.0) na qual o comando source
foi introduzido. Adicionar o repositório PPA fish-shell/release-2
e atualizar o pacote fish corrigiu o problema. Muito obrigado pela sua ajuda e desculpe a confusão.
Sério? Não sou nenhum peixe versão 2.3.1 e a fonte de um arquivo de ativação do virtualenv não funciona.
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, você está fornecendo o script activate
, projetado para bash / zsh / etc, em vez de activate.fish
Comentários muito úteis
@sjatkins, você está fornecendo o script
activate
, projetado para bash / zsh / etc, em vez deactivate.fish