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

时间:2019-10-21 04:09:06

标签: python permissions macos-catalina

在安装macOS 10.15 Catalina之后,对于Python 3.x中的简单文件和目录操作,我收到以下错误:“ PermissionError:[Errno 1]不允许操作”

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

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

这有效:

os.chdir(basedir)

这些无效,并引发以上错误:

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

但是,这不会引发错误:

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

我已经尝试过为Anaconda和Spyder设置“全盘访问”权限。

7 个答案:

答案 0 :(得分:4)

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

Now look at the following image,请参见标签1

在左侧单击“全盘访问”,参见标签2

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

现在单击+符号按钮,请参见标签4

从Application-> Utilities浏览终端应用

现在添加了具有权限的终端。

完成。

答案 1 :(得分:1)

已解决:

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

希望这对您也有帮助。

答案 2 :(得分:1)

我遇到了同样的问题,并转到了系统偏好设置,并在安全性和隐私权> 开发人员工具标签下,在Anaconda程序下添加了“允许下面的应用在本地运行软件...。” ,然后重新启动了anaconda程序,它开始运行。

编辑: 自从我尝试了此解决方案以来,我观察到的其他内容是它仅在我作为bash命令从终端运行spyder时才有效。

答案 3 :(得分:1)

如果您像我一样在Workflows / Automator脚本中遇到此问题,则以下内容可能会有所帮助:

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

这应该使所有工作流程正常工作!

答案 4 :(得分:1)

访问文件夹和文件。

  1. 转到系统偏好设置
  2. 转到安全和隐私。
  3. 在隐私选项卡中,选择左侧对话框中的文件和文件夹。 解锁进行更改并选择终端。

答案 5 :(得分:0)

我的PyCharm存在类似的问题,无法安装任何软件包。在解决问题之前,在文件pyvenv.cfg上运行chown并设置与该文件相同的用户。

答案 6 :(得分:0)

在“全盘访问”部分添加Intellij或其他IDE可以解决问题。 有关更多信息:https://support.apple.com/en-us/HT210595