rthooks.dat文件如下: { 'certifi': ['pyi_rth_certifi.py'], 'django': ['pyi_rth_django.py'], ': ['pyi_rth_gstreamer.py'], 'gst': ['pyi_rth_gstreamer.py'], 'kivy': ['pyi_rth_kivy.py '], 'kivy.lib.gstplayer': ['pyi_rth_gstreamer.py'], 'matplotlib': ['pyi_rth_mplconfig.py', 'pyi_rth_mpldata.py '], 'osgeo': ['pyi_rth_osgeo.py'], 'pkg_resources': ['pyi_rth_pkgres.py'], 'PyQt4': ': ['pyi_rth_twisted.py'], 'usb': ['pyi_rth_usb.py'], 'win32com': ['pyi_rth_win32comgenpy.py
EVENT_TYPE_MODIFIED: self.on_modified, EVENT_TYPE_MOVED: self.on_moved, EVENT_TYPE_CREATED: self.on_created, EVENT_TYPE_DELETED: self.on_deleted,
Pyinstaller打包程序提示Failed to execute script pyi_rth_certifi 作者:matrix 被围观: 4,844 次 发布时间:2021-02-08 分类 但是搬到了其他电脑运行就是失败,死活报错Failed to execute script pyi_rth_certifi。 /issue39344 https://slproweb.com/products/Win32OpenSSL.html Pyinstaller打包报错Failed to execute script pyi_rth_pkgres
如果是图形窗口,不想要控制台出现的话,可以pyinstall -F XXX.py –noconsole 添加版本信息: 安装好pyinstaller后,我们会得到两个辅助工具,pyi-grab_version 和pyi-set_version。 使用pyi-grab_version创建版本信息模板文件,首先找到一个有版本信息的XXX.exe工具,在此目录下打开cmd窗口,输入pyi-grab_version XXX.exe,执行成功后,会在此目录下获得一个 或者 pyi-makespec -F main.py(main.py为Python程序的入口py文件)。 pyi-makespec main.py –> 打包之后会生成一个目录 pyi-makespec -F main.py –> 打包之后只会生成一个exe 选择一个命令即可。
PATH pyi files output directory --clear-output-dir / --no-clear-output-dir --clear-pyi-output-dir / --no-clear-pyi-output-dir --copy-c2py-includes TEXT copy all c2py include files, excluding PATHpyi files output directory -p :pyi文件输出目录 --clear-output-dir / --no-clear-output-dir --clear-pyi-output-dir / --no-clear-pyi-output-dir --copy-c2py-includes TEXTcopy all c2py include files, excluding input files .process finished.# of unsupported functions: 0generating cxx code ...cxx code generated.generating pyi
pefile, packaging, importlib_metadata, pyinstaller-hooks-contrib, pyinstaller WARNING: The scripts pyi-archive_viewer.exe , pyi-bindepend.exe, pyi-grab_version.exe, pyi-makespec.exe, pyi-set_version.exe and pyinstaller.exe /04/27 10:06 108,399 pyi-bindepend.exe2025/04/27 10:06 108,402 pyi-grab_version.exe2025 /04/27 10:06 108,398 pyi-makespec.exe2025/04/27 10:06 108,401 pyi-set_version.exe2025 /04/27 10:06 108,415 pyinstaller.exe---新增加pyi文件,之前只有三个pip文件//当前文件夹有程序,运行结果D:\Python\Python308
省流版: 1. pip 安装 pyinstaller 库 2. pyi-makespec 命令生成 .spec 打包配置文件,并指定 --collect-all(包含所需模块)、-F(单文件模式) -w (无命令行窗口) pyi-makespec 目标代码.py --collect-all pgzero -F -w 3. 或者用 pyi-makespec 替换之前的 pyinstaller 命令,作用是不执行打包只生成 spec 文件。 因此,可以在 pyi-makespec 命令生成 spec 文件时: 加上 -F 参数,设定将程序打包为单个文件; 加上 -w 参数,设定不显示命令行窗口。 pyi-makespec 目标代码.py --collect-all pgzero -F -w 这样就能以不带命令行窗口的单 exe 文件形式成功打包「羊了个羊」游戏了。
在独立文件(“pyi文件”)中生成类型注解,可以使用自身提供的merge-pyi工具将其合并回Python源代码中。 Pytype是一个静态分析器,这意味着它不执行它所检查的代码。 最后,pytype会生成含有推断出的类型信息的文件,默认情况下位于.pytype/pyi中。你可以使用此信息对相应的源文件进行类型注解,用文件的导入路径替换module.py: ? -o,--output:所有pytype输出的保存目录,包括生成的.pyi文件。默认为.pytype。 -d,--disable。以逗号分隔的要忽略的错误名称列表。 子工具 除了pytype本身外,Pytype还附带了三个脚本: merge-pyi, 用于将.pyi文件中的类型信息合并到Python文件中. pytd, 一个 .pyi 文件解析器. pytype-single , pytype开发人员的调试工具,用来对单个Python文件进行分析,并假定已经为该Python文件的所有依赖项生成了.pyi文件。
3536 INFO: Looking for run-time hooks 3537 INFO: Analyzing rthook C:\pyinstaller-2.0\support/rthooks/pyi_rth_encodings .py 3621 INFO: Analyzing rthook C:\pyinstaller-2.0\support/rthooks/pyi_rth_versioned dll.py 3723 INFO: Analyzing rthook C:\pyinstaller-2.0\support/rthooks/pyi_rth_win32comg enpy.py 3833 INFO: Analyzing rthook C:\pyinstaller-2.0\support/rthooks/pyi_rth_versioned dll.py 4118 INFO: Adding Microsoft.VC90 \Pythonwin\mfcm90u.dll 4856 INFO: Warnings written to C:\pyinstaller-2.0\MonitorWin32Process\build\pyi
* pyi-archive_viewer : 查看可执行包里面的文件列表。 * pyi-bindepend : 查看可执行文件依赖的动态库(.so或.dll文件) * pyi-… : 等等。 可以使用: pyi-makespec options script [script …] 创建一个.spec文件,对于手动编辑的.spec文件,我们可以使用下面任意一条命令: pyinstaller specfile pyi-build specfile PyInstaller的原理简介 PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,和编译成真正的机器码完全是两回事,所以千万不要指望成打包成一个可执行文件会提高运行效率
: 'C:\\Python310\\Scripts\\pyi-archive_viewer.exe' -> 'C:\\Python310\\Scripts\\pyi-archive_viewer.exe.deleteme
pyi-archive_viewer : 查看可执行包里面的文件列表。 pyi-bindepend : 查看可执行文件依赖的动态库(.so或.dll文件) pyi-... : 等等。 可以使用: pyi-makespec options script [script ...] 创建一个.spec文件,对于手动编辑的.spec文件,我们可以使用下面任意一条命令: pyinstaller specfile pyi-build specfile PyInstaller的原理简介 PyInstaller
cljs,*.cljxhtml:*.htm,*.html,*.xhtmljson:*.jsonmarkdown:*.markdown,*.md,*.mdown,*.mkdnpython:*.py,*.pyi 你告诉它“我要找Python相关的”,它会自动帮你把.py和.pyi(类型提示文件)都加上。所以,-t本质上就是一个快捷方式,帮你快速指定一组相关的后缀名。
_core", line 7978, in __init__ File "h:\workspace\project\build\pyi.win32\mrdj\outPYZ1.pyz/wx. line 7552, in _BootstrapApp File "<string>", line 84, in OnInit File "h:\workspace\project\build\pyi.win32 _threadedselect", line 106, in __init__ File "h:\workspace\project\build\pyi.win32\mrdj\outPYZ1.pyz /twisted.internet.base", line 488, in __init__ File "h:\workspace\project\build\pyi.win32\mrdj\outPYZ1 .pyz/twisted.internet.posixbase", line 266, in installWaker File "h:\workspace\project\build\pyi.win32
文件中抽取出其中的pyc文件: 抽取exe中的pyc文件 抽取pyinstaller打包的exe中的pyc文件,提取pyc文件有两种方法: 通过 pyinstxtractor.py 脚本提取pyc文件 通过 pyi-archive_viewer 详细介绍可参考官方文档:ttps://pyinstaller.readthedocs.io/en/stable/advanced-topics.html#using-pyi-archive-viewer 执行pyi-archive_viewer [filename]即可查看 exe 内部的文件结构: pyi-archive_viewer auto_organize.exe 操作命令: U: go Up name>: extract name Q: quit 然后可以提取出指定需要提取的文件: 要提取其他被导入的pyc文件,则需要先打开PYZ-00.pyz: 很显然,使用PyInstaller的pyi-archive_viewer def find_main(pyc_dir): for pyc_file in os.listdir(pyc_dir): if not pyc_file.startswith("pyi
2018/01/28 00:22 74,752 pyi-archive_viewer.exe 2018/01/28 00:22 424 pyi-bindepend-script.py 2018/01/28 00:22 74,752 pyi-bindepend.exe 2018/01/28 00:22 430 pyi-grab_version-script.py 2018/01/28 00:22 74,752 pyi-grab_version.exe 2018/01/28 00:22 422 pyi-makespec-script.py 2018/01/28 00:22 74,752 pyi-makespec.exe 2018/01/28 00:22 428 pyi-set_version-script.py 2018/01/28 00:22 74,752 pyi-set_version.exe 2018/01/28 00:22 420 pyinstaller-script.py
2≤K≤5 1≤R≤50 1≤N≤100 -100≤PXi PYi≤100 | PYi | ≤ R R, PXi PYi都是整数。 数据之间有一个空格。 接下来对每组測试数据: 第1行: N R 第2~N+1行: PXi PYi (i=1,…..,N) Output 对于每组測试数据,输出一行: 最少须要的极光点数。
常见的 Python 文件后缀有:py、pyc 、pyo、 pyi、pyw、 pyd、 pyx 等。 pyi文件是PEP484提案规定的一种用于 Python 代码类型提示(Type Hints)的文件。 图片 按住ctrl点进去,进入到 os 模块定义os.makedirs的地方,发现前面有个*号,鼠标放上去会提示Has stub item in __init__.pyi。 图片 点击*号就会跳到对应的__init__.pyi文件,这个文件里按照PEP484规定,为os模块每个函数都定义了对应的类型检查规则。 pyi Python 的存根文件,常用于 IDE 代码格式检查时的类型提示。 pyw 另一种 Python 源代码文件,一般只存在于 Windows 系统。
(filename) as f: lines = f.readlines() print(lines) f.close() 结下来介绍如何生成exe 首先需要生成spec文件,pyi-makespec -F test.py (如果要添加Icon等可以在这里就使用pyi-makespec --icon abc.jpg -F test.py语句生成spec文件) ?
\print-student\main.py提取 pyc 文件使用脚本提取pyi-archive_viewer 是 PyInstaller 自己提供的工具,它可以直接提取打包结果exe中的pyc文件。 详细介绍可参考官方文档:https://pyinstaller.readthedocs.io/en/stable/advanced-topics.html#using-pyi-archive-viewer # 使用 pyi-archive_viewer 查看文件并提取> pyi-archive_viewer . \main.exeOptions in 'main.exe' (PKG/CArchive): pyi-contents-directory _internalContents of 'main.exe' q在上面的操作中,我们使用 pyi-archive_viewer 提取了 main.pyc、和 student.pyc 文件,当时大家可以很清楚的看到弊端,即需要一个一个手动提取,对于大项目这是十分麻烦的