安装方面挺顺利的但是导入的时候一直出错
设备是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上下载一下压缩包,解压后放到你的指定文件夹就好了。
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢
对于苹果安装akshare的问题,akshare官方的安装文档里面有过描述,描述如下:
AKShare 由于使用 PyMiniRacer 项目来支持在 Python 中运行 JavaScript 代码,所以要完整的使用 AKShare 的全部功能需要安装该库。
但是由于苹果的 M 系列芯片采用 ARM 架构,而 PyMiniRacer 并没有编译相对应的 版本,所以造成在 M 系列芯片的计算机上使用 AKShare 会出问题。
本次的解决方案是
提供编译好的文件供大家下载使用:libmini_racer.dylib ,
只需要把该文件下载到本地,然后存放在报错提示的路径即可,
如果你使用的是 macOS 系统自带的 Python,则这个路径一般是 /Users/<username>/Library/Python/<python_version>/lib/python/site-packages/py_mini_racer
, 具体可以找到自己机器 Python 第三方包的下载路径。
如有问题及时沟通
如有帮助欢迎采纳
参考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 中反馈您的问题,以便他们能够及时修复。