【问题标题】:Python Black for Atom not formatting on Apple M1 chipAtom 的 Python Black 未在 Apple M1 芯片上格式化
【发布时间】:2022-11-10 03:03:07
【问题描述】:

我有一个非常简单的文件,我正在尝试重新格式化itsadate.py,当我从终端运行命令black itsadate.py 时,出现以下错误

ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/black/__init__.cpython-310-darwin.so, 0x0002
): tried: '/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/black/__init__.cpython-310-darwin.so' (mach-o file, b
ut is an incompatible architecture (have 'arm64', need 'x86_64')), '/usr/lib/__init__.cpython-310-darwin.so' (no such file)

这里有什么问题?

【问题讨论】:

  • 欢迎来到堆栈溢出。您是否尝试重新安装 Black?错误信息在哪里显示incompatible architecture (have 'arm64', need 'x86_64'),你明白这是什么意思吗?另外,这个问题与 Atom 有什么关系?
  • @KarlKnechtel 重新安装黑色工作!谢谢你。是的,我明白这意味着什么,我只是认为重新安装它不会解决这个问题,因为它以前在我的 Mac 上工作过。

标签: python


【解决方案1】:

我已经解决了这个问题。这是我的解决方案,也许它可以帮助某人。

我已经从 Mac Intel 迁移到 Mac M1,并且我已经迁移了我的所有项目。 我在 prehook 中使用了黑色库。 问题出在 Intel .venv/ 和 Intel lib 的路径不正确。 Commit prehook 曾尝试使用 M1 库:

ImportError: dlopen(/Users/my_user/my_project/.venv/lib/python3.10/site-packages/black/__init__.cpython-310-darwin.so, 0x0002): tried: '/Users/my_user/my_project/.venv/lib/python3.10/site-packages/black/__init__.cpython-310-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/my_user/my_project/.venv/lib/python3.10/site-packages/black/__init__.cpython-310-darwin.so' (no such file), '/Users/my_user/my_project/.venv/lib/python3.10/site-packages/black/__init__.cpython-310-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))

如何解决这个问题呢?

  1. 使用来自https://github.com/homebrew/install#uninstall-homebrew 的脚本卸载 Intel brew

  2. 使用此脚本为 M1 安装 brew $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

  3. 删除旧的(英特尔).venv/

    sudo rm -rf /you/way/to_you/.venv/
    
    1. 为 M1 重新创建它
    python -m venv .venv
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-06
    • 2021-04-10
    • 2022-08-16
    • 1970-01-01
    • 2021-05-11
    • 1970-01-01
    • 1970-01-01
    • 2021-02-23
    相关资源
    最近更新 更多