python - 如何更改 Visual Studio 代码中的终端以使用非 Rosetta 终端,即使用 arm64 终端?
问题描述
我是 python 新手,正在尝试运行 python 2.7脚本。获得了 python 2.7 的 pip 并从 mac 终端 shell 安装了 pyCrypto 的依赖项。
我想尝试下载的python脚本,当我使用python2执行它时,它在终端应用程序中运行良好。
现在我在 vscode 中打开它并尝试在其终端中运行脚本,我得到了
ImportError: dlopen(/Users/xxx/Library/Python/2.7/lib/python/site-packages/Crypto/Cipher/_DES3.so, 2): no suitable image found. Did find:
/Users/xxx/Library/Python/2.7/lib/python/site-packages/Crypto/Cipher/_DES3.so: mach-o, but wrong architecture
/Users/xxx/Library/Python/2.7/lib/python/site-packages/Crypto/Cipher/_DES3.so: mach-o, but wrong architecture
当我
uname -m
在 M1 Mac 上的 vscode 终端(zsh)中运行时,我看到输出x86_64
,暗示终端正在 Rosetta 下运行并正在寻找库的英特尔版本。
当我uname -m
在常规的 mac 终端应用程序中运行时,我看到arm64
如何更改 vscode 内的终端以使用非 Rosetta 终端?或者我如何让脚本从 vscode 中运行?
解决方案
我对 VSCode 不熟悉,但是您可以手动强制使用arch
命令启动的任何东西选择架构切片(请参阅参考资料man arch
)。
如果您有一个通常会启动的脚本,例如:
./script.py
然后你可以像这样强制任何一种架构:
arch -x86_64 ./script.py
arch -arm64 ./script.py
推荐阅读
- python - 数据框 iloc 在熊猫中意外工作
- dialogflow-es - 什么是 google action 和 dialogflow 代理?
- mysql - 如何在 mysql 中搜索数字 JSON 数组?
- drake - 具有类型相关构造函数参数的类的标量转换复制构造函数
- c# - 如何根据输入的文本过滤和自动建议组合框项目?
- javascript - CSS伪类在通过JS更新变量值后消失
- java - 表单提交发送不需要的 GET 请求
- python - 在比较两个列表时如何获取不匹配元素的列表?
- django - 如何运行与 gunicorn 绑定的 django 应用程序?
- r - 通过选择旧 df 的一部分(单个变量的一部分)来创建新的 df