最近做的新浪微博爬虫程序,打算打包成.exe软件以方便使用,网上找到一个很好的打包工具pyinstaller,这里记录一下打包的方法。

一、下载pyinstaller

我使用的版本为PyInstaller-2.1,支持python版本2.3-2.7,点击这里下载

二、安装pyinstaller

下载完成后,解压即可。我的解压目录为D:\Python27\PyInstaller-2.1\

三、使用pyinstaller打包.py成.exe应用程序

1.注意使用前要安装pywin32,点击这里下载

2.将需要打包的.py放到PyInstaller-2.1目录下,如下图所示。

在命令行,cd进入可执行python命令的目录,执行命令:python pyinstaller.py [opts] yourprogram.py

主要选项包括:

-F, –onefile 打包成一个exe文件。

-D, –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)。

-c, –console, –nowindowed 使用控制台,无界面(默认)

-w, –windowed, –noconsole 使用窗口,无控制台

更详细的使用方法可以参考下载包里的doc目录下的Manual.html文件。

具体操作:

python pyinstaller.py-F sina_crawler.py

实际操作:(其实就是注意文件路径,我的pyinstaller安装目录D:\Python27\pyinstaller-2.1\)

cd到d:\Python27\目录下,然后命令:

python pyinstaller-2.1\pyinstaller.py -F pyinstaller-2.1\sina_crawler.py

如果最后出现Appending archive to EXE,则生成成功。

注意会生成(均在Python27目录下):

1. dist文件夹(包含生成好的sina_crawler.exe)

2.build文件夹(中间生成,没用,事后可以删掉)

3.sina_crawler.spec文件(中间生成,没用,事后可以删掉)

四、生成的微博爬虫软件

双击生成的dist文件夹里的sina-crawler.exe文件,运行软件开始爬取微博。

顺便说句题外话,对于控制台程序运行,无论是.py文件还是生成的.exe文件,程序运行完闪退的情况:可以在程序加上raw_input()函数,表示运行结束等待回车输入再退出。

爬下来的页面:

打包python文件为exe文件(PyInstaller工具使用方法)的更多相关文章

  1. 打包python脚本为exe可执行文件-pyinstaller和cx_freeze示例

    本文介绍使用cx_freeze和pyinstaller打包python脚本为exe文件 cx_freeze的使用实例 需要使用到的文件wxapp.py, read_file.py, setup.py ...

  2. “failed to excute script xxx” PyInstaller 打包python程序为exe文件过程错误

    在使用PyInstaller打包python程序,打包命令为: pyinstaller -F -w -i manage.ico yourpyfile.py 顺便说一下几个参数的作用 -F:是直接生成单 ...

  3. PyInstaller 打包 python程序成exe

    pychaim下PyInstaller 打包 python程序 主题是使用PyInstaller 打包python时遇到一些问题以及解决方案,其中将要打包的程序是用tensorflow做的LSTM算法 ...

  4. 打包python脚本为exe的坎坷经历, by pyinstaller方法

    打包python脚本为exe的坎坷经历, by pyinstaller方法 又应验了那句歌词. 不经历风雨, 怎么见得了彩虹. 安装过程略去不提, 仅提示: pip install pyinstall ...

  5. nwjs如何打包文件为exe文件并修改exe图标

    1.下载nw.js,如果是SDK版的可以调试页面,打包后可不可以调试还没有试,不是SDK的话没有调试选项,试了一下,打包后的文件也一样调试不了. 2.把要打包的文件和package.json都放在nw ...

  6. python预课04 列表,元祖,统计值计算示例,py文件转为EXE文件,爬虫初步学习

    列表,元组 #list l1 = [1, 2, 3, '高弟弟'] #定义一个列表 #增 l1.append("DSB") #最后增加"DSB"的元素 #删 l ...

  7. 使用fiddler,提示系统找不到相应的文件FSE2.exe文件

    使用fiddler时候遇到了如下问题: Rules中customize rules 时,提示系统找不到相应的文件FSE2.exe文件. 这个文件的位置可以在Tools->opinions-> ...

  8. 关于DLL文件和EXE文件不在同一目录下的设置【转】

    https://www.cnblogs.com/chaosimple/archive/2012/08/13/2636181.html 关于DLL文件和EXE文件不在同一目录下的设置 在开发程序结束后, ...

  9. 【转载】COM文件与EXE文件的区别与联系

    COM文件是一种可执行程序的内存映象文件,它与只有16位地址线的8位机上的CP/M操作系统下的可执行程序结构相似.在COM程序执行过程中,除了调用DOS功能和 ROM BIOS 功能,以及用户特意安排 ...

随机推荐

  1. 远程访问(HttpClient和HttpResponse的使用) 原型模式

    package com.webserver.webservice; import java.io.ByteArrayInputStream; import java.io.FileOutputStre ...

  2. Learning an Optimal Policy: Model-free Methods

    http://www.mit.edu/~9.54/fall14/slides/Reinforcement%20Learning%202-Model%20Free.pdf [基于所有.单个样本]

  3. Unity中几种简单的相机跟随

    #unity中相机追随 固定相机跟随,这种相机有一个参考对象,它会保持与该参考对象固定的位置,跟随改参考对象发生移动 using UnityEngine; using System.Collectio ...

  4. Data Structure Binary Tree: Check for Children Sum Property in a Binary Tree

    http://www.geeksforgeeks.org/check-for-children-sum-property-in-a-binary-tree/ #include <iostream ...

  5. TopCoder<SRM>上的一道1100分的题目解析附代码

    首先我们来简单看一下这道题的statement Problem Statement      Note that in the following problem statement, all quo ...

  6. 深入理解JVM - Java内存区域与内存溢出异常 - 第二章

    一 运行时数据区域 JVM在执行Java程序的过程中会把它管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间. 程序计数器 程序计数器(Program Counter ...

  7. 延时加载 lazyload使用技巧

    html <img class="lazy" src="images/src_unit.png" data-src="images/index/ ...

  8. 分享知识-快乐自己:搭建第一个 Hibernate (Demo)

    使用 Hibernate 完成持久化操作 七大 步骤: 1.读取并解析配置文件及映射文件: Configuration configuration=new Configuration().config ...

  9. T56

    警方派人监视那个可疑人的住宅.The police put a watch on the suspect's house.他们利用自己的实践经验,设计了一台气冷柴油机.According their ...

  10. stack_2.由两个栈组成队列

    思路: 用两个栈($stack_a, $stack_b),当push的时候,压入$stack_a, 让pop的时候,先把$stack_a元素依次全部倒入$stack_b中,再对$stack_b进行po ...