latex2mathml库封装exe后显示unimathsymbols.txt缺失问题的解决

【问题描述】:导入了latex2mathml.converter 用于将latex转word公式,用py文件执行完全没问题,使用pyinstaller封装成exe后,出现找不到unimathsymbols.txt的问题(截图如下)

【问题分析】缺少这个文件,找到这个文件弄到本地就好啦。(但是他给的路径似乎并不存在。。)后来就去找latex2mathml这个库本地的路径,发现了这个文档,但是拷到本地还是不行,说明他调用的时候用的是绝对地址。所以要想修改这个问题就得修改它库文件的源码了。所以我就把库文件复制出来了,复制出来后,根据提示找到symbols_parser.py里的文件路径变量,改成了本地路径,ok,问题解决!

【问题解决】

1. 找到电脑本地中这个库的路径:C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Lib\site-packages\latex2mathml

该库的整个文件夹复制出来。

2. 根据报错提示,找到打开unimathsymbols.txt的py文件

 最后一次在该库文件中调用是在 symbols_parser.py的第19行(下边codecs.py是标准库,不考虑,肯定不可能在他里面)。打开文件后开始分析。

 根据代码可知,他打开了一个名叫SYMBOLS_FILE的常量文件,所以去上边找SYMBOLS_FILE的定义即可。

 ok,至此发现了问题所在,很可能是他在封装过程中,这里用到的是临时的绝对地址,所以封装后临时地址没了,所以报错。不过,什么问题不重要!!解决这个问题最直接暴力的办法就是 直接改成相对地址调用本地文件即可

 至此,库的问题解决了。

3. 修改自己程序的源代码,改为调用当前路径下的 修改版的latex2mathml 库。

    (1)将自己程序源代码复制到 修改过的latex2mathml库 的目录下

   (2)修改自己程序源代码,直接调用本地的converter.py,不再从latex2mathml包导入

4. 利用pyinstaller封装exe即可。

    至此,库文件、源文件都已修改完毕,封装exe就可以用了,不再报错,问题解决!!

写在最后:

latex2mathml库可以用于将latex转换为word里的公式,相关代码主要参考了以下链接:

使用python实现的一个latex转Mathml的命令行小工具(方便latex公式放到word里使用)_xkxsxkx的博客-CSDN博客_mathml python

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值