Virtualenv: activate.fish usa comando 'source' não suportado

Criado em 18 mar. 2016  ·  4Comentários  ·  Fonte: pypa/virtualenv

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:

screen shot 2016-03-19 at 3 10 23 am
o erro original

screen shot 2016-03-19 at 3 11 19 am
a edição que fiz no arquivo activate.fish

screen shot 2016-03-19 at 3 11 43 am
o resultado

Comentários muito úteis

@sjatkins, você está fornecendo o script activate , projetado para bash / zsh / etc, em vez de activate.fish

Todos 4 comentários

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

Esta página foi útil?
0 / 5 - 0 avaliações