"workon" funktioniert nicht in "screen"

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo, bin neu hier :)

    Ich habe den ganzen Abend nach einer Lösung gesucht - auch im englischsprachigen - komme aber an einer bestimmt ganz einfachen Stelle nicht weiter. Nach "screen" googelt es sich aber auch echt schlecht wenn es das auch als Hardware gibt ;). Hoffe hier kann mir jemand auf die Sprünge helfen, bin mir aber auch gar nicht sicher ob "Python" das richtige Unterforum ist. Status meinerseits: Eher so blutiger Anfänger.

    Ich möchte mich für eine kleine Spielerei mit opencv beschäftigen und dies dazu zunächst natürlich erstmal installieren. Dabei klemmt es leider . Ziel ist ein raspi zero w mit aktuellem raspbian (strech). Ich halte mich bisher streng an dieses Tutorial: https://www.pyimagesearch.com/2017/09/04/ras…r-raspberry-pi/ . Das klappt bis Step #5 auch alles super. Da einige Schritte ja einiges an Zeit kosten habe ich das heute im Verlauf des Tages von der Arbeit aus der Ferne per SSH angefangen. Aus einem YT-Video weiß ich, dass vor allem das finale kompilieren mehrere Stunden dauern kann. Ich habe damit bisher null Erfahrungen und bin deshalb auf ein Problem gestoßen, welches ich noch nie hatte: Wenn ich Feierabend habe und das noch nicht fertig ist hab ich ein Problem ^^ (SSH-Session müsste ja offen bleiben). Ich habe mich also etwas schlau gemacht und von "screen" erfahren um das ganze im Hintergrund ablaufen zu lassen und mich ein wenig eingelesen und ausprobiert. Auch das funktioniert an sich auch super und werd ich mir auf jeden Fall für die Zukunft merken. Aber in Kombination habe ich ein Problem:

    Ich kann nach dem SSH-Login mit


    Code
    workon cv

    in die virtuelle Umgebung wechseln -> :thumbup:.

    Ich kann mit

    Code
    screen -r

    eine angefangene Session wieder aufnehmen ->:thumbup:.

    "Cool" dachte ich...

    Leider kann ich nicht "in screen" (ist das der korrekt Terminus?) den Befehl "workon" nicht benutzen. Hier mal wie es sich so darstellt (mit geht und geht nich):

    Code
    pi@raspberrypi:~ $ workon cv
    (cv) pi@raspberrypi:~ $ deactivate
    pi@raspberrypi:~ $ screen -r
    There are several suitable screens on:
            1811.pts-0.raspberrypi  (03/09/18 20:34:41)     (Detached)
            1728.pts-0.raspberrypi  (03/09/18 20:27:22)     (Detached)
            1290.pts-1.raspberrypi  (03/09/18 19:27:52)     (Detached)
    Type "screen [-d] -r [pid.]tty.host" to resume one of them.
    pi@raspberrypi:~ $

    es folgt ein "screen -r 1290" und ich bin "im screen". Dort dann:

    Code
    pi@raspberrypi:~ $ workon cv
    bash: workon: command not found

    Ich bin nun natürlich längst zu Hause und könnte das per Tastatur erledigen aber mich würde schon interessieren woran das hakt. Kann man ja wieder mal gebrauchen :)

    Danke schonmal!

  • Hast du in deiner screen-Session mal source ~/.profile ausgeführt? Ich bin mir nicht sicher, aber es kann sein, dass screen eine neue Shell erzeugt, in der dann die nötigen Umgebungsvariablen nicht gesetzt sind. Ich vermute, in /usr/local/bin/virtualenvwrapper.sh wird u.a. PATH angepasst oder aliasse erstellt, was das bash: workon: command not found erklärt, wenn dies nicht geschieht

    ...

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!