使用Python打包含有pymssql成exe所躺的坑


、如何打包

 

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’模塊(黑人問號臉,啥子‘十進制’)

 

解決方法:

導入模塊加入以下代碼:

1 import uuid
2 import _mssql
3 import decimal

 

二、Python讀取數據庫數據編碼錯誤

 

原因是數據庫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

 編碼錯亂問題也就解決了

 

 解決完這些問題exe文件算是大致打包好了

 

 

但不幸的是它暫時只能在我的電腦上完全運行,我試過發給舍友但他運行到查詢部分就卡住了,暫時也沒找到原因與解決方案(現在猜測是連不上我的數據庫,因為測試的代碼都沒出現,僅有界面)

 

————————未完待續————————————————

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM