首先要注意一下:打包python文件成exe格式这个过程只能在windows环境下运行

1. 直接在命令行用pip安装 pyinstaller

pip install pyinstaller</p>

2. 下载安装pyinstaler运行时所需要的windows拓展—pywin32

pywin32:http://sourceforge.net/projects/pywin32/files/pywin32/

点击最新的Build再点击pywin32-219.win-amd64-py2.7.exe(这里要根据你的windows x86或者x64和你的python版本来选择)

3.在命令行中切换到要打包的程序所在目录,直接输入下面的指令即可

pyinstaller -F demo.py

参数
含义

-F
指定打包后只生成一个exe格式的文件

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

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

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

-p
添加搜索路径,让其找到对应的库。

-i
改变生成程序的icon图标

注意事项:

生成文件中,可能包含一个以warn开头的类似warndemo.txt的警告文件这很明显,是因为程序无法自动导入很多的库使用-p参数添加搜索路径

 pyinstaller.py -F -p C:\python27; ..\demo.py  #注意当前目录是我在下一级目录里

2.添加icon图标

pyinstaller.py -F -p C:\python27; -i ..\a.ico ..\demo.py

对了,这里有个网址可以参考一下

后话:

我按照自己写的步骤在自己电脑上试了一下是可以的,但是将exe拷贝到别人电脑上用了一下,发现出了一个这样的错误

F:\qq文件\a>AutoRecord.exe
Traceback (most recent call last):
File "<string>", line 21, in <module>
File "C:\Python27\Lib\site-packages\PyInstaller\loader\pyi_importers.py", line
507, in install
File "C:\Python27\Lib\site-packages\PyInstaller\loader\pyi_importers.py", line
156, in __init__
ImportError: Can't load frozen modules.

这个问题是因为他的运行目录里面包含了中文,要处理中文要从github上面安装最新的pyinstaller

git clone https://github.com/dkw72n/pyinstaller.git
python setup.py install

然后重新打包.py文件再次发给对方就可以解决这个问题了

解决一些问题可以查看这个网址使用PyInstaller打包Python程序

运行的结果如下:

import urllib.request
import urllib.parse
import os
import json content=input("请输入需要翻译的内容:")
url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=http://www.youdao.com/'
data={} data['type']='AUTO'
data['i']=content
data['doctype']='json'
data['xmlVersion']='1.8'
data['keyfrom:fanyi']='web'
data['ue']='UTF-8'
data['action']='FY_BY_CLICKBUTTON'
data['typoResult']='true'
data=urllib.parse.urlencode (data).encode('utf-8') response = urllib.request.urlopen(url,data)
html=response.read().decode('utf-8') target=json.loads(html)
print("翻译结果为:%s"%(target['translateResult'][0][0]['tgt']))
#input ('按任意键退出:')
os.system('pause')
#print(html)

这是一个利用python爬虫实现的翻译软件,利用有道词典的接口进行翻译,运行后,产生了一个translate.exe,可以在windows上未安装python的环境下运行。

完成

pyinstaller--将py文件转化成exe的更多相关文章

  1. pyinstaller将py文件转成exe格式

    首先要注意一下:打包python文件成exe格式这个过程只能在windows环境下运行 1. 直接在命令行用pip安装 pyinstaller pip install pyinstaller 2. 下 ...

  2. 【Python学习】使用Pyinstaller将py文件导出为exe文件

    PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,但是它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在 ...

  3. 将.py文件转化成.exe

    机子上已经安装好python,且配置好环境变量 编写好xx.py文件 安装pywin32.此处一定注意pywin32有32位和64位之分.可以在命令提示符里输入python来查看python的版本以及 ...

  4. python的py文件打包成exe

    一.首先需要安装Pyinstaller-- 使用pip来安装模块 (我电脑上装的是python的一个编译环境Anaconda,如果电脑上装的是python自带的IDE的话,就直接进入python的安装 ...

  5. 【Python】将python3.6软件的py文件打包成exe程序

    下载pyinstaller pyinstaller 改变图标 pyinstaller -F --icon=my.ico xxx.py 采用命令行操作的办法 在cmd命令行中,输入代码: 首先,前往Py ...

  6. 如何把py文件打包成exe可执行文件

    如何把py文件打包成exe可执行文件 1.安装 pip install pyinstaller 或者 pip install -i https://pypi.douban.com/simple pyi ...

  7. 如何将python3.6软件的py文件打包成exe程序

    在我们完成一个Python项目或一个程序时,希望将Python的py文件打包成在Windows系统下直接可以运行的exe程序.在浏览网上的资料来看,有利用pyinstaller和cx_Freeze进行 ...

  8. 将py文件打包为exe文件方法

    前提: pip是依赖python的,首先检查下windows机器上有没有安装python,或者有没有添加到环境变量中,如果都没有需要安装或者加入环境变量 安装pip 下载地址: https://pyp ...

  9. webService接口的py文件打包成exe

    (一)webService接口的py文件打包成exe,在python3.5版本.pyInstaller3.2版本.pywin32-219.win-amd64-py3.5版本打包时报错,原因可能是pyi ...

  10. 小白学习Python之路---py文件转换成exe可执行文件

    一.背景 今天闲着无事,写了一个小小的Python脚本程序,然后给同学炫耀的时候,发现每次都得拉着其他人过来看着自己的电脑屏幕,感觉不是很爽,然后我想着网上肯定有关于Python脚本转换成可执行文件的 ...

随机推荐

  1. String类的常用方法

    package stringUse; public class StringUse { public static void main(String[] args) { //获取 //indexOf, ...

  2. ExtJS入门教程01,Window如此简单,你怎能不会?

    这是一系列ExtJS教程,今天的是第一篇,主要介绍ExtJS中Window的基本用法.希望大家能够支持! 来吧,创建一个漂亮的弹出窗 var win = Ext.create("Ext.Wi ...

  3. Java初学(五)

    一.成员变量和局部变量区别(成员变量默认为包内访问权限,即使是子类,不在一个包内也无法访问) 1.在类中的位置不同 成员变量:在类中方法外: 局部变量:在方法定义中或者方法声明上 2.在内存中的位置不 ...

  4. SQLServer 数据导入导出 SSIS 包 位置

    笔记:sqlserver 在执行数据导入导出的时候,可以选择是否保存SSIS包,如果选择保存,在保存方式有:SQlserver .文件系统.如果选择sqlserver 则 包信息保存在 msdb 系统 ...

  5. JS Resizable Panel 练习

    Resizable Panel HTML <!doctype html> <html> <head> <title>Resizable Panel< ...

  6. destroy-method="close"的作用

    destroy-method="close"的作用是当数据库连接不使用的时候,就把该连接重新放到数据池中,方便下次使用调用.

  7. JAVA如何调用C/C++方法

    JAVA如何调用C/C++方法 2013-05-27 JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能.解决JAVA对本地操作的 ...

  8. thinkphp-2

    php的跨文件变量? global $g是一个脚本文件中, 函数外部的变量在函数中要使用时的 全局变量 $_GET等是所谓的"超全局变量", 但仍然是只能在一个脚本的范围内使用 要 ...

  9. DOM: 如何获取元素下的第一个子元素

    Element.firstChild ?,是的,这是第一种方法,当然,通常来说支持 W3C 规范的浏览器,如 Firefox 等取到的应该是 TEXT_NODE.很早之前,或者说现在最流行的方法可能是 ...

  10. git 笔记- 概念

    本文参考书中内容 http://cnpmjs.org/ 镜像文件 下载插件的镜像 可参考fis 对于任何一个文件,在Git 内都只有三 种状态:已提交(committed),已修改(modified) ...