使用Python打包含有pymssql成exe所躺的坑「建议收藏」

使用Python打包含有pymssql成exe所躺的坑「建议收藏」一、如何打包Python打包exe文件简单运用pyinstaller库就行了1)安装pyinstaller库(自行安装)2)win+R打开运行窗口输入“powershell”3)输入pyinstaller-F路径\文件名.py(打包py文件的路径,py不能省略)看到successfully即为打包成功,但不一定能运用的!!!(划重点,下面便是我躺过的坑)二、打包exe成功但运行遇报错(打包成功,但双击运行一闪而过):打包的文件代码在这里想查清报错win+R打开运行窗口输入“cmd”

大家好,又见面了,我是你们的朋友全栈君。

一、如何打包
Python打包exe文件简单运用pyinstaller库就行了

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

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

3)输入pyinstaller -F 路径\文件名.py(打包py文件的路径,py不能省略)
在这里插入图片描述

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

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

打包的文件代码在这里

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

可查看报错

1)找不到pymssql库
在这里插入图片描述

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

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

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

2)缺失‘decimal’模块(黑人问号脸,啥子‘十进制’)
在这里插入图片描述

解决方法:

导入模块加入以下代码:

import uuid
from pymssql import _mssql
import decimal

二、Python读取数据库数据编码错误
在这里插入图片描述

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

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

即Python中嵌入SQL语句改为:

#查询语句

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


编码错乱问题也就解决了

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

转载自:使用Python打包含有pymssql成exe所躺的坑
注:仅作个人笔记使用,如有侵权,联系立删!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147690.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm操作mysql数据库 创建表 向表中插入数据 操作mysql数据库查询 修改 删除数据

    pycharm操作mysql数据库 创建表 向表中插入数据 操作mysql数据库查询 修改 删除数据1 安装 PyMySQL 模块语法为 pipinstallPy 集成环境里面操作 MySQL 数据库创建表 导入 pymysqlimpor 创建连接 con pymysql connect host localhost user root password root database test port 3

    2025年7月22日
    5
  • ⭐️UI自动化控制微信发送或转发图片消息✨

    ⭐️UI自动化控制微信发送或转发图片消息✨在前面《UI自动化轻松解决微信手工群发消息的烦恼》一文中,我演示了如果使用python发送文本消息。前段时间有群友询问:虽然之前觉得太简单懒得做,但今天周末又想起这个问题,考虑到很多网友不知道如何实现,所以我今天再简单演示一下。uiautomation控制微信发送图片????其实原理非常简单,之前无非是将需要发送的文本复制到剪切板再粘贴,那么其实对于图片也一样,我们只需要将需要发送的图片放入剪切板即可,其他地方逻辑都一样。那么如何将图片放入剪切板呢?uiautomation已经提供了SetCli

    2022年7月11日
    30
  • 推荐姊妹篇:搜索中的深度匹配模型

    推荐姊妹篇:搜索中的深度匹配模型文章作者 辛俊波腾讯高级研究员编辑整理 HohXil 内容来源 作者授权出品平台 DataFunTalk 导读 在上一篇文章 推荐系统中的深度

    2025年10月10日
    4
  • iscroll中文文档_如何正确使用

    iscroll中文文档_如何正确使用CDN:iScroll作用于滚动区域的外层,只有容器元素的第一个子元素能进行滚动,其它子元素完全被忽略;初始化方式:

    2022年8月6日
    7
  • TiKV学习笔记

    TiKV学习笔记一、TiKV简介1.1、TiKV概述TiDB的存储用的TiKV,TiKV是基于RocksDB实现了分布式(可水平扩展,支持主从),RocksDB是对单机版LevelDB的封装。TiKV是开源的、分布式、支持事务的VK数据库。TiKV不仅提供了KV的API,且提供了兼容ACID的API。TiKV用Rust语言实现,用采用Raft协议,作为TiDB的存储层,是一个兼容了MySQL协议的分布式HTAP数据库。TiKV保证数据一致性,TiKV基于Rust语言实现了Raft协议,一致性状态存储在Rock

    2022年9月24日
    3
  • Java+SQLServer实现——网上图书馆借还管理系统

    Java+SQLServer实现——网上图书馆借还管理系统完整版zip:http://download.csdn.net/detail/wsk1103/9702747PS:这是刚学Java时自己手写的一个垃圾项目,质量低,但是可以运行。已经放弃维护。。。。。。。。。1概述网络的发展越来越快,网上图书馆也毫不例外。因此,网上图书馆就此诞生了,学生对知识的渴望也是越来越大,并且通过网络来订阅图书是一件非常轻松的事情。本系统是一个…

    2022年5月22日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号