python封装exe 时间time问题_Python的带pandas包的程序封装成exe 2018-01-11

本文介绍了如何在Windows 64位环境下,使用Python 2.7.9和32位setuptools 19.2版来封装Python程序为exe。详细讲解了安装PyInstaller和pywin32的过程,以及在封装包含pandas包的程序时遇到的time模块导入错误,并提供了解决方案,包括添加隐藏导入和处理缺失的包。
摘要由CSDN通过智能技术生成

前言:

今天在网上看了很多教程,最后还是在运行pyinstaller命令行时解决

环境配置:python 2.7.9 32位,setuptools 19.2版,WIN 64位

1.安装PyInstaller和pywin32

1.1 Pyinstaller

安装略

可以只是生成单独的可执行程序

且支持的版本也多:2.3到2.7都支持。以及x64也支持

也可以自定义图标

1.2 pywin32

2. 封装成exe

2.1 示范程序用了pandas包

import pandas as pd

import sys,os

import ConfigParser

2.2 pyinstaller使用封装语句

基本语句

pyinstaller -F demo.py

一般来说用这个就可以了

-D, --one-dir打包成一个文件夹,默认

-F, --one-file打包成一个exe文件

-p DIR, --paths DIR添加路径,一般用来添加程序所用到的包的所在位置

-c, --console, --nowindowed提供程序视窗,程序有输入输出的界面,默认

-w, --windowed, --noconsole无视窗,程序后台运行

-i , --icon 添加icon图标

3. 运行时遇到的问题

生成的exe出现ImportError

image.png

4. 解决方法

4.1 看CMD提示,在封装时导入缺失的包

pyinstaller -F -w -i xxx.ico yyy.py --hidden-import=pandas._libs.tslibs.timedeltas

4.2 安装对应的hook

太麻烦,此处略

其他注意的东西

文件夹注意...\dist(生成的exe所在文件位置)和...\build(生成的文件夹所在位置)

warnXXX.txt 里面包含错误信息,如

missing module named pyimod03_importers - imported by C:\Python27\lib\site-packages\pyinstaller-3.4.dev0_ab8fd9753-py2.7.egg\PyInstaller\loader\rthooks\pyi_rth_pkgres.py

missing module named 'multiprocessing.popen_fork' - imported by C:\Python27\lib\site-packages\pyinstaller-3.4.dev0_ab8fd9753-py2.7.egg\PyInstaller\loader\rthooks\pyi_rth_multiprocessing.py

missing module named 'multiprocessing.popen_spawn_win32' - imported by C:\Python27\lib\site-packages\pyinstaller-3.4.dev0_ab8fd9753-py2.7.egg\PyInstaller\loader\rthooks\pyi_rth_multiprocessing.py

missing module named 'multiprocessing.spawn' - imported by C:\Python27\lib\site-packages\pyinstaller-3.4.dev0_ab8fd9753-py2.7.egg\PyInstaller\loader\rthooks\pyi_rth_multiprocessing.py

附录:正确生成exe时控制台信息

c:\Python27>pyinstaller -F Df2Csv.py --hidden-import=pandas._libs.tslibs.timedeltas

116 INFO: PyInstaller: 3.4.dev0-ab8fd9753

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值