Après l'installation de macOS 10.15 Catalina, j'obtiens l'erreur suivante pour les opérations de fichier et de répertoire simples dans Python 3.x: "PermissionError: [Errno 1] Opération non autorisée"
Plusieurs opérations déclenchent cette erreur, notamment l'ouverture d'un fichier existant à partir du cwd en utilisant open (..., 'rb'), listdir () et getcwd ().
Après avoir mis à jour vers Catalina et constaté qu'Anaconda et Spyder ne s'ouvriraient pas, j'ai lu certains des problèmes. J'ai supprimé Anaconda et l'ai réinstallé dans/Users/myname/à l'aide du programme d'installation du terminal .sh. Conda et Spyder sont maintenant ouverts mais je ne peux toujours pas effectuer les opérations ci-dessus.
Cela marche:
os.chdir(basedir)
Ceux-ci ne fonctionnent pas et jettent l'erreur ci-dessus:
os.getcwd()
Traceback (most recent call last):
File "<ipython-input-3-a78b1fb2bab9>", line 1, in <module>
os.getcwd()
PermissionError: [Errno 1] Operation not permitted
os.listdir()
Traceback (most recent call last):
File "<ipython-input-2-67fdccf289bf>", line 1, in <module>
os.listdir()
PermissionError: [Errno 1] Operation not permitted
f=open([pre-existing file],'rb')
Cependant, cela ne jette PAS l'erreur:
f=open('f1.txt','wb')
f.close()
f=open('f1.txt','rb')
J'ai déjà essayé de définir des autorisations d'accès au disque complet pour Anaconda et Spyder.
Accédez à Préférences système -> Sécurité et confidentialité.
Regardez maintenant l'image suivante , voir étiquette 1
Sur le côté gauche, cliquez sur Full Disk Access voir Label 2
Maintenant, cliquez sur l'icône de verrouillage en bas à gauche et entrez le mot de passe pour apporter des modifications, voir étiquette 3
Maintenant, cliquez sur le bouton + signe, voir étiquette 4
Parcourez l'application du terminal depuis Application -> Utilitaires
Maintenant Terminal ajouté avec permission.
Terminé.
J'ai eu le même problème et je suis allé dans l'onglet Préférences Système et sous Sécurité et confidentialité> Outils de développement, a ajouté le programme Anaconda sous "Autoriser les applications ci-dessous à exécuter le logiciel localement ...." et redémarré le programme anaconda et cela a fonctionné.
EDIT: Une autre chose que j'ai observée depuis que j'ai essayé cette solution est qu'elle ne fonctionne que lorsque j'exécute spyder à partir du terminal en tant que commande bash.
Résolu:
Ce que j'ai fait J'ai créé un nouveau dossier, je l'appelle "dev" dans mon dossier utilisateur et y ai déplacé tous mes fichiers et dossiers, puis l'erreur d'autorisation a disparu.
J'espère que cela vous aidera également.