【问题标题】:File permissions issue with python/Spyder/Anaconda after upgrading mac to Catalina将 mac 升级到 Catalina 后,python/Spyder/Anaconda 的文件权限问题
【发布时间】:2020-06-19 17:22:15
【问题描述】:

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

结果:

PermissionError: [Errno 1] Operation not allowed: '/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 权限问题。有什么想法吗?

【问题讨论】:

    标签: python permissions anaconda spyder


    【解决方案1】:

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

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

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

    【讨论】:

    • 这个方法对我有用,虽然它没有用对话框提示我,而且我必须打开/编辑我想通过 Python 访问的子文件夹中的文件。不是一个好的长期解决方案,而是一个不错的快速解决方案。
    【解决方案2】:

    这里完全是菜鸟,但我可能偶然发现了一个解决方案,用于在 Catalina 更新后在 spyder 中读取数据时遇到问题的人。我遇到了与您描述的相同的问题,并且遇到了相同的文件权限错误。

    我无法解决这个问题,重新安装了几次,但对我没有用。我也无法使用我的 Utorrent,在尝试解决这个问题时,我遇到了 https://discuss.pixls.us/t/problems-with-darktable-and-mac-osx-catalina-solved-with-dt-2-6-3-1/14400/19 这个论坛。

    长话短说,在论坛上人们无法真正解决问题,但有人指出,如果你只是从终端运行应用程序,它会以某种方式工作。我试图用 Spyder 来做这件事,我似乎能够再次使用 read_csv('file') 函数。所以尝试打开终端,然后输入'spyder'(不带'')并按回车键。不知何故,所有问题似乎都得到了解决。希望这对某人有所帮助。

    【讨论】:

      【解决方案3】:

      同样的问题。我根据此链接重新安装了 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 将来会有修复。

      【讨论】:

        【解决方案4】:

        Catalina 更新后,我的代码根本不起作用。我发现的最简单的部分解决方案是将包含脚本的所有文件复制到一个新文件夹中。这至少可以运行代码,但我仍然处理烦人的消息以允许访问我的文件。

        【讨论】:

          【解决方案5】:

          conda update --all in terminal 对我有用。它更新了一切。我确实必须通过烦人的消息才能访问我的文件。但是点击是一百次后它是ab

          【讨论】:

          • 你忘了完成最后一句话。
          猜你喜欢
          • 2017-09-18
          • 2021-09-17
          • 2020-03-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-13
          • 2019-08-11
          相关资源
          最近更新 更多