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