Python打包exe

作为一个刚刚入门的python学徒,python的一些小细节真是让我吃尽苦头。

主要是这样,最近有个需求是抓取某个网站最新的数据,然后做成一个exe文件可以放在一台机器上跑,

为了这个,我把之前学一半的python知识重新拿了起来(之前看了两个月的书,因为没有需求所以就把它扔了,我太懒了.....)。

在打包这个环节花费了整整半天,还没有处理完,最后是公司的大牛给出了指导意见才一步步搞定,所以写下这个日志把过程记录下来,以后有时间就拿出来翻翻。

1,我用的python2.7,首先先下载py2exe这个插件

2,假如你写完的py文件叫success.py,将此文件复制到PYTHON的存放路径下,比如我的就是D:\Python

3,在D:\Python下新建setup.py,打开文件,里面写上:

from distutils.core import setup
import py2exe
setup(console=["main.py"])

4,打开cmd,找到文件的路径所在D:\Python,在命令行敲  python setup.py py2exe -p lxml,gzip(这里的lxml与gzip是第三方库,因此命令行就不是敲python setup.py py2exe了)

PS:

在打包的时候还可能遇到以下几个问题;

  提示:缺少 MSVCP90.dll

  解决:一些人从自己C盘里面拷贝了一份放到文件夹下,我呢则是在PYTHON路径下找到msvcp90.dll这个文件,直接把小写改为大写就行啦

  

  提示:执行的时候提示缺少某个图片文件或者配置文件(.ini)

  解决:把对应的文件拷贝到dist文件夹下

 

--------------------------------------------------------------------冷漠的分割线--------------------------------------------------------------------------------

最近用py2exe打包还是出现了一个问题,原因是使用了beautifulsoup4

刚开始打包时,直接 python setup.py -p lxml,gzip

打包过程很顺利,但是运行提示 no module named bs4

有了上次的经验,我知道这是beautifulsoup4这个美丽的应用没被加载到

于是自作聪明的 python setup.py -p lxml,gzip,bs4

这次打包就遇到了问题,提示问题同上,百度上搜索了很久没用,于是第一次上bing

先是在setup.py中

from distutils.core import setup
import py2exe

setup(
  console = ["main.py"],
  options = {
    'py2exe':{
      'packages' : ['bs4']
    }
  }
)

增加了 'packages': ['bs4']

运行打包,还是没成功

最后在某一篇博客上看到了是由于beautifulsoup安装时在site-packages是egg作为后缀,他的做法是先用winrar解压,然后把bs4这个目录直接拉到site-packages里面,我则是直接把之前从某处拉来的文件找到bs4这个文件夹,copy到site-packages,然后运行打包命令,OK

此处是求助原文出处:http://www.cnblogs.com/simplestupid/p/4716658.html

 

 

posted @ 2016-09-21 14:50  _construct  阅读(461)  评论(0编辑  收藏  举报