python导入akshare出错,如何解决?

安装方面挺顺利的但是导入的时候一直出错
设备是Mac M1
报错如下:
Exception ignored in: <function MiniRacer.__del__ at 0x11f252840>
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/py_mini_racer/py_mini_racer.py", line 315, in del
self.ext.mr_free_context(getattr(self, "ctx", None))
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'mr_free_context'
Traceback (most recent call last):
File "<pyshell#5>", line 1, in
import akshare as ak
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/akshare/init.py", line 3819, in
from akshare.stock_feature.stock_a_pe_and_pb import (
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/akshare/stock_feature/stock_a_pe_and_pb.py", line 319, in
js_functions = py_mini_racer.MiniRacer()
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/py_mini_racer/py_mini_racer.py", line 178, in init
self.class.ext = _build_ext_handle()
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/py_mini_racer/py_mini_racer.py", line 125, in _build_ext_handle
raise RuntimeError("Native library not available at {}".format(EXTENSION_PATH))
RuntimeError: Native library not available at /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/py_mini_racer/libmini_racer.dylib

在github上下载一下压缩包,解压后放到你的指定文件夹就好了。

github地址:

img

具体也可以参考一下这篇文章:


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

解决方法

对于苹果安装akshare的问题,akshare官方的安装文档里面有过描述,描述如下:

苹果处理器支持

缘起

AKShare 由于使用 PyMiniRacer 项目来支持在 Python 中运行 JavaScript 代码,所以要完整的使用 AKShare 的全部功能需要安装该库。

但是由于苹果的 M 系列芯片采用 ARM 架构,而 PyMiniRacer 并没有编译相对应的 版本,所以造成在 M 系列芯片的计算机上使用 AKShare 会出问题。

解决方案

本次的解决方案是


如有问题及时沟通
如有帮助欢迎采纳

参考gpt:
结合自己分析给你如下建议:
您在安装 py_mini_racer 时遇到的问题可能是因为您的设备是 Mac M1,而 py_mini_racer 目前还不支持 Mac M1 的架构。您可以尝试以下几种方法来解决这个问题:
您可以尝试使用 Rosetta 2 来运行 py_mini_racer。Rosetta 2 是一种技术,可以让 Mac M1 兼容一些为 Intel 架构设计的应用程序。您可以参考以下链接来了解如何使用 Rosetta 。
您可以尝试使用 minify-js 来替代 py_mini_racer。minify-js 是一个 Python 库,可以用来压缩 JavaScript 代码,它不依赖于 V8 引擎,因此可以在 Mac M1 上运行。您可以参考以下链接来了解如何安装和使用 minify-js。
您可以尝试等待 py_mini_racer 的开发者更新他们的库,以支持 Mac M1 的架构。您可以在 GitHub 上关注他们的项目,并在 issue 中反馈您的问题,以便他们能够及时修复。