SeaHOH / ykdl

a video downloader focus on China mainland video sites.
https://github.com/zhangn1985/ykdl
Other
1.42k stars 285 forks source link

js引擎的问题 #597

Closed redstoneleo closed 2 years ago

redstoneleo commented 2 years ago

我看项目里似乎还用到PyChakra,但是东西应该也是随着微软的放弃而落伍了,我看项目里用到的quickjs也有windows版本啊,为什么不用这个呢?https://bellard.org/quickjs/binary_releases/

其它一些Js引擎我也贴过来,方便大神考虑 https://github.com/devsnek/esvu#usage

SeaHOH commented 2 years ago

谢谢你的建议。 其实安装时即使不指定依赖,大多数系统下都能正常调用 JS 引擎。

Win8+ 使用的是系统附带的 Chakra,而 PyChakra 只是供 Win7 使用,其它系统安装依赖的话则是 QuickJS。 这几种都是内部调用 dll,比外部调用独立运行的 bin 效率更高。作为依赖来讲,足够使用,并且简单方便。

其它几种引擎也支持,其中只有 PyMiniRacer 也是调用 dll,但是它还不完善,对本工具来说不适用。

当前 JS 引擎依赖就是基于以上情况设置,以后有更合适的可随时更新。


如果你有发现其它支持 ES6 的 JS 引擎 Python binding,非常欢迎向 https://github.com/SeaHOH/jsengine/issues 提交,谢谢。

至于外部引擎,如果有独特的文件名或文件路径,也可以内置其调用方法。不过一般用户也不需要这么多,而开发者又可以自行定制。

redstoneleo commented 2 years ago

不客气! 所以对于Windows(只考虑Win7、Win10、Win11)系统来说,PyChakra主要是给Win7用的,对于Win10、Win11调用的是系统内置的Chakra?

SeaHOH commented 2 years ago

你的理解是对的。 刚才我又重新检查了,发现 setup 脚本中的依赖条件不兼容相应的 Windows Server,之后会进行修复。