PermissionError: [Errno 1] macOS Catalina 更新后不允许操作

QQQ*_*QQQ 14 python permissions macos-catalina

安装 macOS 10.15 Catalina 后,在 Python 3.x 中进行简单文件和目录操作时出现以下错误:“PermissionError: [Errno 1] Operation not allowed”

一些操作会触发此错误,包括使用 open(...,'rb')、listdir() 和 getcwd() 从 cwd 打开现有文件。

更新到 Catalina 并发现 Anaconda 和 Spyder 无法打开后,我阅读了一些问题。我删除了 Anaconda 并使用 .sh 终端安装程序将其重新安装在 /Users/myname/ 中。Conda 和 Spyder 现已打开,但我仍然无法执行上述操作。

这有效:

os.chdir(basedir)
Run Code Online (Sandbox Code Playgroud)

这些不起作用并抛出上述错误:

os.getcwd()
Traceback (most recent call last):

  File "<ipython-input-3-a78b1fb2bab9>", line 1, in <module>
    os.getcwd()

PermissionError: [Errno 1] Operation not permitted
Run Code Online (Sandbox Code Playgroud)
os.listdir()
Traceback (most recent call last):

  File "<ipython-input-2-67fdccf289bf>", line 1, in <module>
    os.listdir()

PermissionError: [Errno 1] Operation not permitted
Run Code Online (Sandbox Code Playgroud)
f=open([pre-existing file],'rb')
Run Code Online (Sandbox Code Playgroud)

但是,这不会引发错误:

f=open('f1.txt','wb')
f.close()
f=open('f1.txt','rb')
Run Code Online (Sandbox Code Playgroud)

我已经尝试为 Anaconda 和 Spyder 设置完整磁盘访问权限。

Hac*_*vya 33

转到系统偏好设置-> 安全和隐私。

现在看下图,见标签1

在左侧单击 Full Disk Access,请参阅标签 2

现在点击左下角的锁图标并输入密码进行更改,参见标签 3

现在点击 + 号按钮,见标签 4

从应用程序 -> 实用程序浏览终端应用程序

现在终端已获得许可。

完毕。

  • 需要补充的一件事是,如果您在 VSCode 等软件中使用终端,那么您必须将此权限授予 VSCode(或您正在使用的软件) (2认同)

Tum*_*Tum 12

如果您像我一样在工作流程/自动化脚本中遇到此问题,以下内容可能会有所帮助:

  1. 打开System Preferences-> Security & Privacy->Privacy
  2. 单击左下角的锁并输入密码以允许更改
  3. 在“完整磁盘访问”下单击“+”号
  4. 添加Finder(要快速找到它,请按CMD+ Shift+G并输入/System/Library/CoreServices/Finder.app

这应该使所有工作流程(再次)正常工作!


aze*_*eez 4

解决了:

我所做的我创建了一个新文件夹,在我的用户文件夹中将其称为“dev”,并将所有文件和文件夹移到其中,然后权限错误消失了。

希望这也会对您有所帮助。