前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >py2exe用法_pynput库

py2exe用法_pynput库

作者头像
全栈程序员站长
发布2022-10-01 10:32:34
5680
发布2022-10-01 10:32:34
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

一、简要

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

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

二、如何安装py2exe

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

代码语言:javascript
复制
easy_install py2exe

来进行安装

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

代码语言:javascript
复制
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/

或者执行

代码语言:javascript
复制
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 内容如下. 然后执行该脚本.

代码语言:javascript
复制
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示例如下:

代码语言:javascript
复制
from distutils.core import setup
import py2exe
  
setup(console=["helloworld.py"])

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

代码语言:javascript
复制
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命令的所有命令行标记。

代码语言:javascript
复制
python setup.py py2exe --help

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月11日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、简要
  • 二、如何安装py2exe
  • Python version 2.7 required, which was not found in the registry
  • 三、py2exe的使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档