wake-up-neo.com

Erlaubnis verweigert bei Aktivierung von venv

Ich habe gerade ein neues Python-Projekt gestartet und ein Programm im Projektordner erstellt, indem ich virtualenv venv im Terminal ausführte. Wenn ich jedoch venv/bin/activate starte, erhalte ich eine Fehlermeldung, die die Berechtigung verweigert. 

Ich habe versucht

Sudo chown -R user:user project/venv

aber ich verstehe

chown: user: illegal group name

Ich habe diese Dinge schon viele Male eingerichtet und hatte nie das Problem. Kann ich noch etwas probieren?

Ich bin auf einem Mac.

26
user3088202

Du musst rennen

. venv/bin/activate

oder

source venv/bin/activate

Die activate-Datei ist absichtlich nicht ausführbar, da sie beschafft werden muss.

Es muss beschafft werden, da Änderungen an der Umgebung vorgenommen werden müssen. Wenn es als Skript ausgeführt wird, nimmt es nur Änderungen an der Umgebung des zum Ausführen des Skripts verwendeten untergeordneten Prozesses vor.

Jemand in den Kommentaren fragte nach dem Befehl .. Von der man Seite für bash :

    .  filename [arguments]
   source filename [arguments]
          Read  and execute commands from filename in the current Shell
          environment and return the exit status of the last command
          executed from filename.

Kurz gesagt, . ist eine integrierte Shell, die dasselbe wie die eingebaute source bedeutet.

74
David Cullen

Grundsätzlich wird nach der Berechtigung gesucht, die Aktivierung für den erstellten Ordnerpfad auszuführen. 

Geben Sie im Stammverzeichnis unter dem Befehl permissions den gewünschten Pfad ein, in dem sich enable befindet

Sudo chmod -R 755 ~/tensorflow/* # or whatever the target structure 

Dadurch werden alle Berechtigungen einschließlich Lesen/Schreiben/Ausführen und Gruppe erweitert

dann ~/bin/activate ausführen

0
neiodavince