【问题标题】:PermissionError: [Errno 1] Operation not permitted: '/Users/<local_path>/venv/pyvenv.cfg'PermissionError:[Errno 1] 不允许操作:'/Users/<local_path>/venv/pyvenv.cfg'
【发布时间】:2020-11-02 16:15:57
【问题描述】:

我正在运行一个带有一些 cron 任务的 Django 应用程序。每当我运行 python manage.py crontab add 来注册 cron 任务时,我都会在终端中收到一封“邮件”,显示以下回溯:

Traceback (most recent call last):
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/site.py", line 609, in <module>
    main()
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/site.py", line 592, in main
    known_paths = venv(known_paths)
  File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/site.py", line 510, in venv
    with open(virtual_conf, encoding='utf-8') as f:
PermissionError: [Errno 1] Operation not permitted: '/Users/<local_path>/venv/pyvenv.cfg'

我在 macOS Catalina,python 3.7.3 虚拟环境 venv 上运行。

我已经尝试为 bash、crontab、终端、xcode 和 pycharm 授予完整的磁盘权限。

我也试过安装 python 版本 3.7.8 和 3.8.3

部分解决

我在恢复模式下使用 csrutil disable 禁用了系统完整性保护,并且 cron 成功运行。但是,我不认为它是完整的解决方案。

最终解决方案

我将应用程序 docker 化并作为 docker 容器运行。

【问题讨论】:

  • 同样的问题没有解决-.-

标签: python django macos cron


【解决方案1】:

我遇到了同样的问题,经过几次搜索后,我发现 cron 权限出错。

我就是这样解决的:

  • 转到系统偏好设置 -> 安全和隐私 - 隐私 -> 全盘 访问

  • 点击+图标添加项目

    如果锁显示为已锁定,请单击他以使用您的用户密码解锁

  • 按 Command + Shift + G 打开对话框

  • 输入 /usr/sbin/cron 并回车

  • 搜索并选择 cron 文件并点击打开

好的,现在应该可以了。

【讨论】:

    猜你喜欢
    • 2021-02-18
    • 2020-02-17
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 2022-01-15
    • 1970-01-01
    相关资源
    最近更新 更多