当前位置:   article > 正文

Apple M1 使用 virtualenv 报错问题_mac查看python环境 zsh killed

mac查看python环境 zsh killed

Apple M1 使用 virtualenv 报错问题

问题最开始出现是因为使用 IntelliJ idea 创建 python 的 venv 时,提示 virtualenv 错误。不仅提示错误,创建出来的 venv 下 bin 文件无法执行。

而在之前 x86 的 MacOS 上并没有此问题。

通过手动使用 virtualenv 创建 venv 时发现,但是如果想要使用 python 2,那么在使用 virtualenv 创建的 venv 中,bin 文件会出现无法执行的问题 zsh: killed {anything}

提示

$ ./venv/bin/python

zsh: killed ./venv/bin/python
  • 1
  • 2
  • 3

如果使用 python 3 ,则没有此问题。

此问题在 Apple M1 上特别突出,根本原因是 virtualenv 创建的 bin 是 arm 架构,而 python 2 是 x86 架构,导致程序不兼容。

解决方案 参考 https://stackoverflow.com/questions/66860350/python-pip-process-are-killed-in-virtualenv-apple-m1-chip

使用 x86 架构执行 virtualenv 即可,操作如下:

  • 关闭 SIP: 重启 MacBook 进入 Recover Mode (关机,长按 M1 的开机键,直到出现「启动选项」). 恢复模式下,点击「工具」-> 「终端」 输入 csrutil disable . ref: Disabling and Enabling System Integrity Protection
  • 使用 x86_64 模式: 在终端输入 arch -x86_64 $SHELL, 比如 sudo arch -x86_64 virtualenv venv
  • 成功创建 venv目录,venv/bin/python 可以成功执行

TIPS: 必须关闭 SIP

以上的执行方法可以针对任何因为架构问题导致无法执行的情况。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/264588
推荐阅读
相关标签
  

闽ICP备14008679号