一、首先需要安装Pyinstaller--
使用pip来安装模块
(我电脑上装的是python的一个编译环境Anaconda,如果电脑上装的是python自带的IDE的话,就直接进入python的安装路径,比如是:“D:\python27\Scripts\pip.exe”)
我的Anaconda2安装在G盘所以用如下路径--执行语句:pip.exe install PyInstaller
cmd 进入python安装目录(cd “G:\Anaconda2\Anaconda2\Scripts”)
使用pip安装的另一个好处是,pip会自动安装这个第三方包需要的依赖模块(比如,这里帮我们下载了pypiwin32这个依赖)。
二、启动cmd将py文件打包成exe文件
pyinstaller文件夹位于:G:\Anaconda2\Anaconda2\Lib\site-packages
(如果没有安装Anaconda2,只装了python,那么pyinstaller应该位于【你的安装目录\python27\Lib\site-packages】)
(1)在site-packages文件夹下新建文件夹myexe用来存放要做成exe的py文件
(2)命令提示符进入到myexe文件夹;
(3)命令提示符输入:pyinstaller -F 文件名.py;注意空格和大小写;【例如pyinstaller -F mytest.py】
(4)在文件夹内将生成若干文件,其中exe文件在dist文件夹中。
三、遇到的问题及解决办法:
1、使用pyinstaller打包时程序报错ImportError: The ‘packaging’ package is required; normally this is bundled with this package so if you get this warning, consult the packager of your distribution.
解决办法:setuptools包的版本太高,环境里的setuptools版本是20.x.x。果断卸载并安装低版本的setuptools(19.2),如下:
pip uninstall setuptools
pip install setuptools==19.2
2、但是在运行pip uninstall setuptools时 报错,找不到“easy-install.pth”文件,于是采用手工卸载的方式:去Python的第三方模块或包的存放位置进行手工删除文件和文件夹,然后删除easy-install.pth文件中的相应的行。(发现问题在于我安装的是Anaconda2,而不是单纯的python,所以目录跟默认的目录不一样,用uninstall的方法找不到easy-install.pth,因为在Anaconda2里,steuptools的安装信息在单独的一个名称为setuptools.pth的文件里,把steuptools的包和该setuptools.pth都删掉,就可以了)
参考博文:
3、pip install setuptools == 19.2 问题解决
4、其间还遇到过打包时找不到某个包的问题,网上有人说提示缺哪个包就在py文件里import,然后再去python的安装目录下的site-package里找到对应的包复制到pyinstaller文件所在的同一目录下,但是我后来发现如果用pip的方式安装pyinstaller就没有这个问题。
 
 

python的py文件打包成exe的更多相关文章

  1. Python的.py文件打包成exe可执行文件

    前几天做了几个简单的爬虫python程序,于是就想做个窗口看看效果. 首先是,窗口的话,以前没怎么接触过,就先考虑用Qt制作简单的ui.这里用前面sinanews的爬虫脚本为例,制作一个获取当天sin ...

  2. 将python项目.py文件打包成.exe文件

    安装pyinstaller包 pip3 install pyinstaller 如果不行 pip3 install pyinstaller -i https://pypi.doubanio.com/s ...

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

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

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

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

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

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

  6. Python如何将py文件打包成exe

    安装pyinstaller 打开cmd窗口,输入pip install pyinstaller,命令行输出successfully表示成功. 生成exe文件 一.单个py文件 在py文件目录下,打开c ...

  7. 将py文件打包成exe文件

    PyInstaller工具是跨平台的,它既可以在 Windows平台上使用,也可以在 Mac OS X 平台上运行.在不同的平台上使用 PyInstaller 工具的方法是一样的,它们支持的选项也是一 ...

  8. Pycharm下将py文件打包成exe文件

    1. 在PyCharm下安装PyInstaller 1. 首先,打开自己要发布的工程   2. 点击底部的[Terminal]打开终端,中输入命令pip install pyinstaller后回车, ...

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

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

随机推荐

  1. mysql 插入默认值的问题 sql-mode

    刚好碰到如果不给默认值mysql数据就插入不成功的问题,后来百度了很多,试了下结果 把my.ini里面的[mysqld]的sql-mode 换成下面的一行,如果没有则添加  sql-mode=&quo ...

  2. Jakarta-Commons- BeanUtils学习笔记:

    http://www.cnblogs.com/zhangyi85/archive/2009/04/22/1441341.html 1.什么是BeanUtils: BeanUtils主要提供了对于Jav ...

  3. TimeUnit(转)

    java.util.concurrent并发库是JDK1.5新增的,其作者是Doug Lea ,此人是个BOSS级别的天才人物了.有了他提供的类库,使得我们对多线程并发.锁有了很大的帮助,减少了并发难 ...

  4. careercup-栈与队列 3.2

    3.2 请设计一个栈,除pop与push方法,还支持min方法,可返回栈元素中的最小值.push.pop和min三个方法的时间复杂度必须为O(1). 我们假设除了用一个栈s1来保存数据,还用另一个栈s ...

  5. Chapter 3 - How to Move a sprite

    http://www.eoeandroid.com/forum.php?mod=viewthread&tid=250529 http://www.cocos2d-x.org/boards/6/ ...

  6. 学习PHP时的一些总结(二)

    类中的构造方法和析构方法: 构造方法是对象创建完成后第一个被对象自动调用的方法.析构方法是对象在销毁之前最后一个被对象自动调用的方法. 如果没有显示的声明构造方法,类中都会默认存在一个没有参数列表并且 ...

  7. android之AlertDialog 点击其他区域自动消失

    遇到一个问题记录下来,在开发中使用了AlertDialog,想点击屏幕其他区域的时候让这个dialog消失,一开始不做任何设置,在小米手机可以正常显示,但是在三星中却有问题,后来发现少了一个属性: V ...

  8. ubuntu16.04 : 4: [: y: unexpected operator

    Ubuntu16.04 执行行脚本出错 在使用sh 执行脚本 出错标志 : 4: [: y: unexpected operator 原因:sh是连接到dash的,又因为dash跟bash的不兼容所以 ...

  9. FreeBSD更换默认csh为bash

    1.安装bash cd /usr/ports/shells/bash make install 2.切换chsh(change shell) chsh -s /usr/local/bin/bash

  10. Linux查看当前系统登录用户、登录日志、登录错误日志

    1.查看当前系统的登录用户 w who 2.查看成功登录历史记录 last -n 3.查看尝试登录失败的历史记录 lastb -n 4.显示每个用户最近一次登录成功的信息 lastlog