将 mac 升级到 Catalina 后,python/Spyder/Anaconda 的文件权限问题

Ste*_*gay 6 python permissions spyder anaconda

将 macOS 升级到 Catalina 后,Apple 帮助我重新配置了我的 Anaconda 安装。来自 Anaconda 网站的建议表明全新安装是最好的方法。这样做了,一切似乎都很好。我使用 Anaconda 导航器中的 spyder。但是由于明显的文件权限问题,尝试以前运行的 python 代码失败。例如,

file='/Users/stingay/Documents/Coaching/WAIS/2019:20/041019/Race Walk Test-2019-10-04T16.29.13.774-C5612E80FB1D-Accelerometer.csv'

with open(file,'rt') as f:

data = csv.reader(f)
next(data)
Run Code Online (Sandbox Code Playgroud)

结果是:

PermissionError:[Errno 1] 不允许操作:'/Users/stingay/Documents/Coaching/WAIS/2019:20/041019/Race Walk Test-2019-10-04T16.29.13.774-C5612E80FB1D-Accelerometer.csv'

我看不到文件权限或文件所在目录结构的问题。如果我将文件移动到~/.spyder-py3(工作目录),它就可以工作。

看起来我无法发现的文件/目录存在一些额外的 python/spyder/anaconda 权限问题。有任何想法吗?

Dan*_*röm 5

我想你现在已经解决了这个问题,但为了将来参考,我仍然发布我的答案。

TLDR:我直接在 spyder 编辑器(文件 | 打开)中打开了一个文件(来自导致问题的文件夹)。因此,无论您是否允许访问,编辑器都应该触发弹出对话框问题。就我而言,mac 以静默方式授予 python/spyder 访问该文件夹的权限。现在我可以在 spyder 中运行代码而不会出现比我自己造成的更多问题。

更长的版本:您的问题的根源在这里描述:https : //www.howtogeek.com/443611/how-macos-catalinas-new-security-features-work/ 知道链接是不受欢迎的,这里是一个总结:问题是现在文件夹“文档”和“下载”文件夹受到保护,您需要转到安全和隐私设置以及“文件和文件夹”并允许应用程序访问这些文件夹。不幸的是,spyder 没有出现在这里。因此,如果您想从终端运行 Python 程序,您可能应该授予终端访问文件夹的权限。


小智 1

这里同样的问题。我根据此链接重新安装了 Anaconda,Python 能够访问 Catalina 添加了新限制安全性的文件夹:

按照以下说明安装 Anaconda:

https://www.anaconda.com/how-to-restore-anaconda-after-macos-catalina-update/

  1. 对于 Anaconda-Jupyter 用户,你可以开始了

  2. 对于命令行(终端)Python 用户,你可以开始了

  3. 对于 Anaconda-Spyder 用户,安装上述后有两个选项作为解决方法:

    • 避免使用 Mac 默认安装文件夹并将文件重新定位到 /Users/[user_name]/.. 或
    • 在 root 用户下通过终端启动 Spyder(执行“sudo SPYDER”)

最后,更改或重置文件夹/文件权限并不能解决权限问题。尽管更受限制的安全文件夹下存在安全问题,但 Spyder-Python 仍能够打开这些文件夹中的 .py 文件。

由于 Jupyter 和命令行 Python 可以访问这些文件夹,我认为将来会有针对 Anaconda-Spyder 的修复。