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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/560068.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos 6.5装mysql 5.7,centos 6.5装mysql5.7

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼报错er-5.7.17-1.el7.i686 需要--> 处理依赖关系 libc.so.6(GLIBC_2.17),它被软件包 mysql-community-server-5.7.17-1.el7.i686 需要--> 完成依赖关系计算错误:Package: mysql-community-client-5.7.…

php超大树形分页,PHP+MySql千万级数据limit分页优化方案

PHPMySql千万级数据limit分页优化方案1年前阅读 2750评论 0喜欢 0### 原因徒弟突然有个需求,就是他发现limit分页,页数越大之后,mysql的消耗越大,查询时间越长,当突破百万级数据之后,一个简单的翻页都需要5…

oracle数据库连接满了,ORACLE数据库连接数满的分析及优化

最近在使用Oracle的过程中,出现了数据库连接数满的情况,导致程序及数据库连接工具连接不上。主要从两个方面来考虑这件事,从程序方面来看:1.进行数据库连接操作后未释放连接;2.若使用了数据库连接池,则考虑…

oracle移动硬盘盒,oracle-linux下挂载移动硬盘 NTFS类型

环境:ORACLE-LINUX 5.7全新移动硬盘(未使用过)移动硬盘空间3T在默认情况下,Linux系统不支持NTFS分区挂载1、服务器:A服务器和B服务器为一套ORACLE-RAC,移动硬盘插在A服务器上;2、下载ntfs-3g包,在A服务器上…

linux自启动配置文件,Linux中如何设置服务自启动?

有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务,主要用三种方式进行这一操作:ln -s 在/etc/rc.d/rc*.d目录中建立/etc/init.d/服务的软链接(*代表0~6七个运行级别之一)chkonfig 命令行运行级别设置nts…

linux系统下升级node,linux下安装指定版本的nodejs(升级到指定版本)

原因最近需要全栈开发但是服务器是linux系统,服务本身通过yum安装软件包,不过yum安装的nodejs版本太低。所以需要自己安装。方案下载编译好的文件解压后直接运行即可,不过我们需要全局运行node命令。只需要把目录设置为全局即可(建立软链接 l…

Linux bash卸载软件,Ubuntu卸载软件的4种方法

前言本文重点介绍Ubuntu卸载软件的4种方法。他们分别是图形化界面的synaptic、自动解决依赖关系的apt-get,处理依赖关系更强大的aptitude,还有安装本地deb包的dpkg。方法一: Ubuntu使用synaptic图形化界面管理软件oucanrongzcwyou:~$ sudo apt-get insta…

linux系统atom安装教程,Ubuntu/Linux Mint上安装Atom文本编辑器

Atom是一款由Github开发的开源文本编辑器,虽然目前该软件依然在Beta阶段,但我们依然可以在你的Ubuntu/Linux Mint上使用它。据Atom官方博客介绍,与Atom类似的编辑器Sublime和TextMate都深受开发者欢迎,但在扩展性上都有所限制&…

linux替换windows回车,转载 vi替换windows换行符为linux换行符

1.用vi打开指定文本文件:vi filename.c2.按 Esc 键,进入命令模式;3.按 : 键 (按 Shift 键不放后,同时按 : 键)进入命令输入状态;4.在冒号后输入:%s/^M//g注:^M是一个字符不是输入^和M两个字符&a…

ausam3x 嵌入式linux,ATSAM3X8EA-AU - 微控制器, 32位, SAM3X系列, ARM 皮质-M3, 84nb

ATSAM3X8EA-AU -微控制器, 32位, SAM3X系列, ARM 皮质-M3, 84 MHz,512 KB, 96 KB, 144 引脚, LQFPTheATSAM3X8EA-AU is a Flash Microcontroller, based on the highperformance 32-bit ARM Cortex-M3 RISC processor. It operates at amaximum speed of 84MHz and features up…

网络编程与分层协议设计:基于linux平台实现,网络编程与分层协议设计:基于Linux平台实现...

图书简介本书以Linux网络套接字编程和网络分层协议的设计与程序实现为主题,详细介绍如何在Linux平台下进行套接字程序设计,并给出了一个基于分层协议的应用实例,用于模拟Linux网络协议栈中IP层的核心功能—IP报文的分段和重组过程。本书旨在通…

labview 远程连接linux,SSH交互式通信总结:expect、plink、putty、sshpass、ALAB SSH

关于在linux脚本中远程执行命令的问题,笔者在以前文章中可以使用expect工具来完成交互式通信。在windows平台下可以使用plink或者putty工具。免密也可以设置SSH秘钥,参考文章-Linux怎么远程执行指令呢-SSH秘钥。但是在linux下需要一一对应设置&#xff0…

linux安装版本的python,linux安装python各种版本.md

### linux安装python各种版本PS:首先按照本文的问题按照教程解决,再安装编译python[python各个版本大全](https://www.python.org/ftp/python/)bashwget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz #下载tar xJf Python-3.7.0.tar.xz…

tcping在linux用法,tcping的安装和使用

Tcping 网上比较少资料是关于linux对tcp端口ping测试的方法,我这里简单介绍2种方法: 1.yum安装,编译安装方法 1-1.wget http://linuxco.de/tcping/tcping-1.3.5.tar.gz ###下载tcping1-2 tar zxvf tcping-1.3.5.tar.gz ####解压缩tcping-1.3.…

linux子系统安装gromacs,科学网—Windows下GROMACS程序的编译 - 李继存的博文

2015-12-07 22:12:05总的来说, Windows下的GROMACS程序用于模拟意义不大, 对于长时间的模拟, 我都是放在Linux服务器上进行的. 但将Windows下的GROMACS程序作为一个辅助工具来使用还是有意义的. 因为大多数时候, 我都是在Windows下准备输入文件的, 然后测试一下准备好的输入文件…

surface装linux键盘不能用,Linux 5.13开始支持新款微软Surface系列笔记本的键盘与触摸板...

原标题:Linux 5.13开始支持新款微软Surface系列笔记本的键盘与触摸板改善Linux下微软Surface笔记本支持的探索还在继续。随着Linux 5.13的发布,不仅有Surface DTX驱动,另一个新的Surface驱动 "surface-hid"将允许在较新的Surface设…

linux mp3长度,得到一个wma或mp3文件,如何用最简单的方法得到它的长度信息呢?...

得到一个wma或mp3文件,如何用最简单的方法得到它的长度信息呢? Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiMultimedia/html/delphi_20061108195617169.html不需要知道歌手名专辑名等,只要长度即可,哪个指令可以做…

c语言统计数字字母个数,请问这个用c怎么做:输入一串字符,分别统计其中数字和字母的个数...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#includemain(){int acount0,bcount0,ccount0,dcount0;char a;printf("请输入一行字符:\n");a getchar();while (a !\n){switch (a){caseq:casew:casee:caser:caset:casey:caseu:casei:caseo:casep:casea:cases:cased:c…

libmysqld_dev linux,Linux下python玩转MySQLdb

(0)目录Linux下python玩转MySQLdb一:起因(1)Linux下安装python的第三方模块 ---- MySQLdb,自己走了很多弯路,在此做一下总结,希望对于像我一样的初学者有所帮助(2)Python中mysql数据库连接的例子,请见Linux公社 或者 我…

单片机按键控制数码管c语言程序,基于单片机的按键控制LED数码管共阴极动态显示电路设计报告(毕业论文).doc...

基于单片机的按键控制LED数码管共阴极动态显示电路设计报告(毕业论文)物理与电子工程学院2014级课程设计PAGE IV物理与电子工程学院《单片机原理与接口技术》课程设计报告书设计题目: 基于单片机的按键控制LED数码管共阴极动态显示电路设计专 业: 自动化…