使用mac m1运行代码,pycharm报错Process finished with exit code 132 (interrupted by signal 4: SIGILL)
求各位指教!
这个错误可能是因为您在 M1 芯片上使用的是 Intel 架构的 Python 版本,导致在运行时出现了不兼容的情况。您可以尝试在终端中使用 python3 命令来查看当前使用的 Python 版本。如果是 Intel 版本,可以考虑使用 Rosetta 模拟器来运行代码。
另外,也可以尝试使用 M1 芯片上的本机 ARM 架构 Python 版本来运行代码,如果您的 Python 库都是使用 pip 安装的,可以使用 pip3 命令来安装本机 ARM 版本的库,如下所示:
pip3 install <package-name>
如果以上方法都无法解决问题,您可以尝试更新 PyCharm 和 Python 版本,并重新配置相关环境变量和解释器。
不知道你这个问题是否已经解决, 如果还没有解决的话:针对在Mac M1上使用Pycharm中遇到的"Process finished with exit code 132 (interrupted by signal 4: SIGILL)"错误,参考资料中提供了两种解决方案:
解决办法一:
1.安装matplotlib==3.2.2版本
可以通过以下命令在终端中安装指定版本的matplotlib:
pip install matplotlib==3.2.2
2.重新运行代码,查看是否正常输出结果
解决办法二:
1.安装backtrader_plotting和quantstats等三方可视化模块
可以通过以下命令在终端中安装backtrader_plotting和quantstats:
pip install backtrader_plotting quantstats
2.在代码中使用backtrader_plotting模块输出一个html文件
在合适的位置加入以下代码:
from backtrader_plotting import Bokeh
from backtrader_plotting.schemes import Tradimo
# 其他策略代码
b = Bokeh(style='bar', plot_mode='single', scheme=Tradimo())
cerebro.plot(b)
3.运行代码,在Chrome中打开生成的html文件查看回测结果
在运行代码后,会自动生成一个名为bt_bokeh_plot_0.html
的html文件,可以在Chrome浏览器中打开该文件,查看回测结果。