PermissionError: [Errno 1] Operation not permitted after macOS Catalina Update

QQQ picture QQQ · Oct 21, 2019 · Viewed 19.9k times · Source

After installing macOS 10.15 Catalina I am getting the following error for simple file and directory operations in Python 3.x: "PermissionError: [Errno 1] Operation not permitted"

Several operations trigger this error including opening an existing file from the cwd using open(...,'rb'), listdir() and getcwd().

After updating to Catalina and finding that Anaconda and Spyder wouldn't open I read about some of the problems. I removed Anaconda and re-installed it in /Users/myname/ using the .sh terminal installer. Conda and Spyder now open but I still can't perform the operations above.

This works:

os.chdir(basedir)

These do not work and throw the error above:

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')

However, this does NOT throw the error:

f=open('f1.txt','wb')
f.close()
f=open('f1.txt','rb')

I've already tried setting Full Disk Access permissions for Anaconda and Spyder.

Answer

Hacklavya picture Hacklavya · Dec 9, 2019

Go to System Preference->Security and Privacy.

Now look at the following image, see Label 1

On the left side click on Full Disk Access see Label 2

Now click on bottom left lock icon and enter password to make changes, see Label 3

Now click on + sign button, see Label 4

Browse the terminal app from Application -> Utilities

Now Terminal added with permission.

Done.