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

Python PermissionError:[Errno 1]macOS Catalina更新后不允许执行操作,python,permissions,macos-catalina,Python,Permissions,Macos Catalina,在安装macOS 10.15 Catalina之后,对于Python3.x中的简单文件和目录操作,我遇到以下错误:“PermissionError:[Errno 1]操作不允许” 有几个操作会触发此错误,包括使用open(…,'rb')、listdir()和getcwd()从cwd打开现有文件 在更新到Catalina并发现Anaconda和Spyder无法打开后,我了解了一些问题。我删除了Anaconda,并使用.sh终端安装程序将其重新安装在/Users/myname/中。康达和斯皮德现在打

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

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

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

这项工作:

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

但是,这不会引发错误:

f=open('f1.txt','wb')
f.close()
f=open('f1.txt','rb')
我已尝试为Anaconda和Spyder设置完全磁盘访问权限。

已解决:

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


希望这也能对你有所帮助。

我也遇到了同样的问题,我去了系统首选项,在安全和隐私开发者工具选项卡下,在允许下面的应用程序在本地运行软件下添加了Anaconda程序并重新启动了anaconda程序,该程序成功了

编辑:
自从我尝试这个解决方案以来,我观察到的另一点是,它只有在作为bash命令从终端运行spyder时才起作用

进入系统首选项->安全和隐私

,见标签1

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

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

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

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

现在终端添加了权限


完成。

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

在完整磁盘访问部分添加Intellij或其他IDE即可。
更多信息:

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

  • 打开
    系统首选项
    ->
    安全和隐私
    ->
    隐私
  • 单击左下角的锁并输入密码以允许更改
  • 在“完全磁盘访问”下,单击“+”符号
  • 添加
    Finder
    (要快速查找,请按
    CMD
    +
    Shift
    +
    G
    ,然后输入
    /System/Library/CoreServices/Finder.app

  • 这将使所有工作流程(再次)正常工作

    我遇到此错误,因为我试图在已删除的目录中启动http服务器。

    以访问文件夹和文件

  • 转到系统首选项
  • 转到安全和隐私
  • 在“隐私”选项卡中,选择左侧对话框中的文件和文件夹。 解锁进行更改并选择终端

  • 您是否可以在终端中尝试以下方法来测试一开始不起作用的方法:sudo python yourscript.pyOk,它似乎起作用,但只在终端中,而不在IDE中。终端提示我输入密码,但我可以使用print(os.listdir())打印目录列表。当我在IDE中尝试此操作时,仍然会出现错误。我只是尝试将文件和文件夹权限更改为对所有人进行读写操作,但这也不起作用。如果从具有/不具有
    sudo
    权限的终端运行,您的代码是否有效?有/没有
    sudo
    权限的终端如何?每种情况下的错误消息是什么?IDE可能运行在限制其访问的沙箱中。Catalina增加了安全性。正如其他答案所示,肯定有更好的方法。这应该是公认的答案,谢谢!
    f=open([pre-existing file],'rb')
    
    f=open('f1.txt','wb')
    f.close()
    f=open('f1.txt','rb')