py2exe用法_pynput库

py2exe用法_pynput库一、简要py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,目的就是在没有安装python的windows系统上运行这个可执行程序。py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序。py2exe是发布在开源许可证下的。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、简要

py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,目的就是在没有安装python的windows系统上运行这个可执行程序。
py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序。

py2exe是发布在开源许可证下的。

二、如何安装py2exe

可以直接在命令行下面执行

easy_install py2exe

 来进行安装

然后使用按照如下方法进行测试

 

E:\>python
Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import py2exe
>>>

 

如果没有任何报错,那么就证明安装成功了

但是注意,这里经常见到这样的报错:

  no module named machinery

这是因为,我们安装的py2exe版本太高了,py2exe模块0.9版本只支持python3以上,要想在python2.7中运用,就要下载0.6 版本的py2exe,地址如下:

http://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/

或者执行 

easy_install py2exe-0.6.9.win32-py2.7.exe


通常情况下使用easy_install 下载并不好用,还是需要在官网下面下载下来。

在官网下载的时候,要注意,选择合适的版本,

32位的下载  py2exe-0.6.9.win32-py2.7.exe

64位的下载py2exe-0.6.9.win64-py2.7.amd64.exe

官网和easy_install 都安装不上去的,可以在下面的网址去下载:

http://download.csdn.net/detail/qiqiyingse/9799260

但是再官网下载下来之后,我们再安装的时候还是会遇到下面的问题:

Python version 2.7 required, which was not found in the registry 

解决方案一(针对32bit):

       最简单的方法是将已安装的64bit的python卸载、重新安装32bit。

解决方案二(针对64bit):

 对于想用python64bit不想更换回32bit的,需要借助一些其他人开发的库,这里收集了很多python官方不支持的扩展包 

Unofficial Windows Binaries for Python Extension Packages;

解决方案三(极力推荐)

在 py2exe-0.6.9.win32-py2.7.exe 已经下载完成的时候

建立一个文件 register.py 内容如下. 然后执行该脚本.

import sys
  
from _winreg import *
  
# tweak as necessary
version = sys.version[:3]
installpath = sys.prefix
  
regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)
installkey = "InstallPath"
pythonkey = "PythonPath"
pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % (
    installpath, installpath, installpath
)
  
def RegisterPy():
    try:
        reg = OpenKey(HKEY_CURRENT_USER, regpath)
    except EnvironmentError as e:
        try:
            reg = CreateKey(HKEY_CURRENT_USER, regpath)
            SetValue(reg, installkey, REG_SZ, installpath)
            SetValue(reg, pythonkey, REG_SZ, pythonpath)
            CloseKey(reg)
        except:
            print "*** Unable to register!"
            return
        print "--- Python", version, "is now registered!"
        return
    if (QueryValue(reg, installkey) == installpath and
        QueryValue(reg, pythonkey) == pythonpath):
        CloseKey(reg)
        print "=== Python", version, "is already registered!"
        return
    CloseKey(reg)
    print "*** Unable to register!"
    print "*** You probably have another Python installation!"
    
if __name__ == "__main__":
    RegisterPy()

它执行完毕之后,再去安装这个东西,就OK了

 三、py2exe的使用

自己创建一个为helloworld.py的python脚本,如果你想把它转换为运行在windows上的可执行程序,并运行在没有安装python的windows系统上,

那么首先你应写一个用于发布程序的设置脚本例如setup.py,在其中的setup函数前插入语句import py2exe 。
mysetup.py示例如下:

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


然后按下面的方法运行
mysetup.py:

 

python setup.py py2exe


 
上面的命令执行后将产生一个名为dist的子目录,其中包含了helloworld.exe,python24.dll,library.zip这些文件。
如果你的helloworld.py脚本中用了已编译的C扩展模块,那么这些模块也会被拷贝在个子目录中,同样,所有的dll文件在运行时都是需要的,除了系统的dll文件。
dist子目录中的文件包含了你的程序所必须的东西,你应将这个子目录中的所有内容一起发布。

默认情况下,py2exe在目录dist下创建以下这些必须的文件:
1、一个或多个exe文件。
2、python##.dll。 
3、几个.pyd文件,它们是已编译的扩展名,它们是exe文件所需要的;加上其它的.dll文件,这些.dll是.pyd所需要的。
4、一个library.zip文件,它包含了已编译的纯的python模块如.pyc或.pyo
上面的mysetup.py创建了一个控制台的helloword.exe程序,如果你要创建一个图形用户界的程序,那么你只需要将mysetup.py中的console=[“helloworld.py”]替换为windows=[“myscript.py”]既可。

py2exe一次能够创建多个exe文件,你需要将这些脚本文件的列表传递给console或windows的关键字参数。如果你有几个相关联的脚本,那么这是很有用的。
运行下面个命令,将显示py2exe命令的所有命令行标记。

python setup.py py2exe --help

easy_install py2exe-0.6.9.win32-py2.7.exe
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195066.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jvm的垃圾回收器_java 垃圾回收器

    jvm的垃圾回收器_java 垃圾回收器1.GC分类按线程数:并行垃圾回收器:ParallelCollector.同一时间段内只有一个cpu执行垃圾回收操作.用户线程等待. 串行垃圾回收期:SerialCollector.同一时间段内可以有多个cpu执行垃圾回收操作,用户线程等待.按压缩方式:压缩式,内存有序.非压缩式:内存无序.按工作方式:并发式,及并发GC,用户线程和垃圾回收器同时交替进行. 独占式,垃圾回收线程进行时,用户线程需要等待.按工作区分:年轻代,老年代.2.GC性能指标吞吐量:用户线

    2022年9月11日
    0
  • Louvain算法_算法问题

    Louvain算法_算法问题Louvain算法一种基于模块度的图算法模型,与普通的基于模块度和模块度增益不同的是,该算法速度很快,而且对一些点多边少的图,进行聚类效果特别明显。算法流程:1、初始时将每个顶点当作一个社区,社区个数与顶点个数相同。2、依次将每个顶点与之相邻顶点合并在一起,计算它们的模块度增益是否大于0,如果大于0,就将该结点放入该相邻结点所在社区。3、迭代第二步,直至算法稳定,即所有顶点所属社区不再变…

    2022年10月26日
    0
  • 【SpringBoot】19、SpringBoot中实现启动任务

    【SpringBoot】19、SpringBoot中实现启动任务我们在项目中会用到项目启动任务,即项目在启动的时候需要做的一些事,例如:数据初始化、获取第三方数据等等,那么如何在SpringBoot中实现启动任务,一起来看看吧SpringBoot中提供了两种项目启动方案,CommandLineRunner和ApplicationRunner一、CommandLineRunner使用CommandLineRunner,需要自定义一个类区实现CommandLineRunner接口,例如:importorg.springframework.boot.

    2022年9月26日
    0
  • pycharm快捷键设置在哪里_手机快捷键在哪里设置

    pycharm快捷键设置在哪里_手机快捷键在哪里设置Alt+Enter自动添加包shift+O自动建议代码补全Ctrl+tSVN更新Ctrl+kSVN提交Ctrl+/注释(取消注释)选择的行Ctrl+Shift+F高级查找Ctrl+Enter补全Shift+Enter开始新行TABShift+TAB缩进/取消缩进所选择的行Ctrl+Alt+I自动缩进行Ctrl+Y删除

    2022年8月28日
    0
  • excel宏 java,Microsoft Excel宏运行Java程序

    excel宏 java,Microsoft Excel宏运行Java程序IhavelearnttoreadandwriteanExcelfileusingaJavaprogramwiththehelpofJxlandPOIAPI.IsitpossibletorunaJavaprogramwiththehelpofmacros?解决方案Yes,itispossible.Therearequit…

    2022年6月3日
    34
  • 【风马一族_代码英语】代码英语之一

    【风马一族_代码英语】代码英语之一

    2021年9月11日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号