El archivo active.fish actualmente generado por el comando virtualenv usa el comando 'fuente' que no existe en fish. Esto arroja un error al ejecutar el script. Una solución fácil es cambiar el comando de origen a '.'
Vea las imágenes adjuntas para más detalles:
el error original
la edición que hice en el archivo active.fish
el resultado
El sitio web de Fish Shell dice lo contrario.
https://fishshell.com/docs/current/commands.html#source
. (un solo punto) es un alias para el comando de origen. El uso de . está en desuso en favor de la fuente, y. se eliminará en una versión futura de fish.
¿Quién soy yo para creer?
Lo siento, me apresuré a llegar a una conclusión después de leer el número 211 en la página de conchas de pescado.
Aparentemente, la misma preocupación se planteó en el número 310 y se abordó en la última versión de fish
El problema en mi sistema era porque apt-get solo instala fish 2.0.0 de forma predeterminada y es necesario agregar un repositorio separado para obtener la versión (2.2.0) en la que se introdujo el comando source
. Agregar el repositorio de PPA fish-shell/release-2
y actualizar el paquete fish solucionó el problema. Muchas gracias por tu ayuda y perdón por la confusión.
¿En serio? No soy un pez versión 2.3.1 y la fuente de un archivo de activación virtualenv no 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 , está obteniendo el script activate
, diseñado para bash / zsh / etc, en lugar de activate.fish
Comentario más útil
@sjatkins , está obteniendo el script
activate
, diseñado para bash / zsh / etc, en lugar deactivate.fish