Virtualenv: enable.fish verwendet nicht unterstützten 'source'-Befehl

Erstellt am 18. März 2016  ·  4Kommentare  ·  Quelle: pypa/virtualenv

Die Datei activate.fish, die derzeit vom Befehl virtualenv generiert wird, verwendet den Befehl 'source', der in fish nicht vorhanden ist. Dies führt zu einem Fehler beim Ausführen des Skripts. Eine einfache Lösung besteht darin, den Quellbefehl in ein '.' zu ändern.

Details finden Sie in den beigefügten Bildern:

screen shot 2016-03-19 at 3 10 23 am
der ursprüngliche Fehler

screen shot 2016-03-19 at 3 11 19 am
die Bearbeitung, die ich an der Datei activate.fish vorgenommen habe

screen shot 2016-03-19 at 3 11 43 am
das Ergebnis

Hilfreichster Kommentar

@sjatkins Sie beziehen das Skript activate , das für bash / zsh / etc entwickelt wurde, anstelle von activate.fish

Alle 4 Kommentare

Die Fischmuschel-Website sagt etwas anderes.

https://fishshell.com/docs/current/commands.html#source

. (ein einzelner Punkt) ist ein Alias ​​für den Quellbefehl. Die Verwendung von . wird zugunsten der Quelle verworfen, und . wird in einer zukünftigen Version von fish entfernt.

Wem soll ich glauben?

Tut mir leid, ich bin zu einem Schluss gekommen, nachdem ich Ausgabe #211 auf der Seite mit Fischschalen gelesen hatte.

Anscheinend wurde die gleiche Besorgnis in Ausgabe #310 geäußert und in der neuesten Version von fish angesprochen

Das Problem auf meinem System war, dass apt-get standardmäßig nur fish 2.0.0 installiert und ein separates Repository hinzugefügt werden muss, um die Version (2.2.0) zu erhalten, in der der Befehl source eingeführt wurde. Das Hinzufügen des PPA-Repositorys fish-shell/release-2 und das Aktualisieren des Fischpakets haben das Problem behoben. Vielen Dank für Ihre Hilfe und entschuldigen Sie die Verwirrung.

Wirklich? Ich bin kein Fisch Version 2.3.1 und die Quelle einer Virtualenv-Aktivierungsdatei funktioniert nicht.

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 Sie beziehen das Skript activate , das für bash / zsh / etc entwickelt wurde, anstelle von activate.fish

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen