Je viens juste de commencer un nouveau projet python et de créer un venv dans le dossier du projet en exécutant virtualenv venv
dans le terminal. Cependant, lorsque je lance venv/bin/activate
, une erreur d’autorisation refusée est générée.
J'ai essayé
Sudo chown -R user:user project/venv
mais je reçois
chown: user: illegal group name
J'ai organisé ces événements une tonne de fois et je n'ai jamais eu le problème. Y at-il autre chose que je peux essayer?
Je suis sur un Mac.
Vous devez courir
. venv/bin/activate
ou
source venv/bin/activate
Le fichier activate
est délibérément non exécutable car il doit être recherché.
Il doit être recherché car il doit modifier l'environnement. S'il est exécuté en tant que script, il ne modifiera que l'environnement du processus enfant utilisé pour exécuter le script.
Quelqu'un dans les commentaires a posé des questions sur la commande .
. De la page de manuel de 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.
En bref, .
est un shell intégré qui signifie la même chose que le source
intégré.
Fondamentalement, il recherche l'autorisation d'exécuter l'activation sur le chemin du dossier créé.
Sur la racine, donnez ci-dessous la commande des autorisations sur le chemin souhaité où se trouve activer
Sudo chmod -R 755 ~/tensorflow/* # or whatever the target structure
Cela étendra toutes les autorisations, y compris Lecture/Écriture/Exécution et groupe
puis exécutez ~/bin/activate