一、pyInstaller安装配置
1、打开网址:Pyinstaller
如图:
看清楚支持的版本号,不要下载错误导致不能正常使用
2,下载并解压后目录如下:
一定要将其放置在pythonxx.exe所在的文件夹下。我得python为3.7版本,安装在E盘的Python3.7文件夹下(如上图所示)
3、继续下载所需要的组件,pywin32-3.7版本(intel)
包含其他版本
打开上述网址后,界面如下,根据自己电脑和python版本号,自行选择下载
4,双击pywin32-221.win32-py3.7.exe安装,注意安装的时候会自动检测之前安装的Python3.7。然后一直下一步,很简单。
注:有的小伙伴这一步可能会显示如图所示错误,如果没有则可忽略
解决办法: 把注册表中的文件夹3.6重命名为3.7-32,就可以安装pywin32了
如果注册表中没有Python,执行以下代码会自动在注册表中写入路径。然后再安装pywin32即可
from __future__ import print_function
import sys
try:
from winreg import *
except ImportError:
from _winreg import *
# tweak as necessary
version = sys.version[:3]
installpath = sys.prefix
regpath = "SOFTWARE\\Python\\Pythoncore\\{0}\\".format(version)
installkey = "InstallPath"
pythonkey = "PythonPath"
pythonpath = "{0};{1}\\Lib\\;{2}\\DLLs\\".format(
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()
5,在CMD命令行进入Python3.7目录下的Scripts目录并执行:python pywin32_postinstall.py -install 命令如图:
6、在CMD命令行中进入安装pythonxx.exe路径下第2步解压的Pyinstaller-3.6文件夹下(我的是E:\Python3.7\Pyinstaller-3.6)目录,然后执行:python setup.py install,最后出现如下图字样表示成功。
三,制作exe
1,先写一个Hello.py
print('hello world!')
input()
2、将Hello.py放到目录E:\Python3.7\Pyinstaller-3.6下。
3,在CMD命令行进入该目录,并执行命令:python pyinstaller.py -F Hello.py
在该目录的dist文件夹下生成了一个Hello.exe。
出现这个表示执行成功
参考文献
1、python如何生成ex文件
2、安装pywin32提示python version 3.6-32 required,which was not found in the registry解决办法,亲测可用