python打包exe报错编码问题,使用Python打包含有pymssql成exe所躺的坑

一、如何打包

Python打包exe文件简单运用pyinstaller库就行了

1)安装pyinstaller库(自行安装)

2)win+R打开运行窗口输入“powershell”

3)输入pyinstaller -F 路径\文件名.py(打包py文件的路径,py不能省略)

0d44fbb436760ff1129a51e4747e5589.png

看到successfully即为打包成功,但不一定能运用的!!!(划重点,下面便是我躺过的坑)

二、打包exe成功但运行遇报错(打包成功,但双击运行一闪而过):

想查清报错 win+R 打开运行窗口输入“cmd” ,在cmd中输入文件路径\文件名.exe(打包的exe文件路径,exe不可省略)

可查看报错

1)找不到pymssql库

95be78874b0eda9a4969139c7f28fa9b.png

刚开始我也是挺纳闷的,我pycharm明明安装了pymssql库的,打包后居然找不到该库!!!

后来发现~~~pycharm属于一个部分环境,pycharm上安装的库在电脑全局环境并不能查到,所以需要使用cmd安装pymssql库

解决方法:WIN+R --- cmd --- pip install 路径\文件.whl(这是pymssql的whl文件,自行百度下载py对应版本安装)

2)缺失‘decimal’模块(黑人问号脸,啥子‘十进制’)

ae3eae47f30458cc3917cd0c004c32ba.png

解决方法:

导入模块加入以下代码:

1 importuuid2 import_mssql3 import decimal

二、Python读取数据库数据编码错误

9201be95d32c155cffbcfa142c707c31.png

原因是数据库varchar与nvarchar的区别

解决方法是加入convert(nvarchar(20), remark)

即Python中嵌入SQL语句改为:

1 #查询语句

2 search_sql = "select convert(nvarchar(20), 姓名) ,Students.学号,convert(nvarchar(20), 课程名) ,成绩 from Students, Report, Course"\3 "where Students.学号=Report.学号 and Report.课程号=Course.课程号 and Students.学号=%s" % self.man

编码错乱问题也就解决了

76bd07d8bb23fcaaafcf9e1d9b61bd5f.png

解决完这些问题exe文件算是大致打包好了

632b4b2104e297a12f8c81f0fa0066d5.png

但不幸的是它暂时只能在我的电脑上完全运行,我试过发给舍友但他运行到查询部分就卡住了,暂时也没找到原因与解决方案(现在猜测是连不上我的数据库,因为测试的代码都没出现,仅有界面)

————————未完待续————————————————

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值