web-dev-qa-db-fra.com

PermissionError: [Errno 1] Opération non autorisée après la mise à jour de macOS Catalina

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.

1
QQQ

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é.

6
Hacklavya

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.

1
Burple

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.

1
azeez