Articles of pyinstaller

Python Windows服务pyinstaller可执行文件错误1053

我已经在python中写了一个Windows服务。 如果我从命令提示符运行我的脚本 python runService.py 当我这样做的服务安装并正确启动。 我一直在尝试使用pyinstaller创build一个可执行文件,因为我已经看到了与py2exe相同的问题。 当我运行.exe服务安装,但不启动,我得到以下错误 error 1053 the service did not respond to the start or control request in a timely fashion 我看到很多人都有这个问题,但似乎无法find一个明确的答案,如何解决这个问题。 winservice.py from os.path import splitext, abspath from sys import modules, executable from time import * import win32serviceutil import win32service import win32event import win32api class Service(win32serviceutil.ServiceFramework): _svc_name_ = '_unNamed' _svc_display_name_ = […]

如何将pyromedriver与pyinstaller一起使用?

我正在使用pyinstaller来创build我的python脚本的可执行文件。 在我使用这些导入的脚本中: from selenium import webdriver from selenium.webdriver.chrome.options import Options etc… 问题是,当运行pyinstaller myscript.py ,将导致包括Firefox,而不是Chrome。 在结果文件夹C:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 围绕这个话题只有几个问题,但是没有解决问题的答案。 我正在考虑添加 – –hidden-import MODULENAME标签的命令,但chromedriver.exe不是一个模块…谢谢

PyInstaller构buildWindows EXE失败,多处理

在我的项目中,我使用Python的multiprocessing库在__main__中创build多个进程。 该项目正在打包到一个单一的Windows EXE使用PyInstaller 2.1.1。 我创build了如下的新进程: from multiprocessing import Process from Queue import Empty def _start(): while True: try: command = queue.get_nowait() # … and some more code to actually interpret commands except Empty: time.sleep(0.015) def start(): process = Process(target=_start, args=args) process.start() return process 在__main__: if __name__ == '__main__': freeze_support() start() 不幸的是,当将应用程序打包到EXE中并启动它时,我在这一行中得到了WindowsError 5或6(似乎是随机的): command = queue.get_nowait() […]

为什么python可执行文件在windows上调用multiprocessing模块时会打开新的窗口实例

简短的问题:为什么python可执行文件生成的pyinstaller打开新的窗口实例时,多function处理模块被称为在Windows操作系统 我有一个使用pyside编写的GUI代码。 当我们点击简单button时,它将在另一个进程中计算阶乘(使用多处理模块)。 它运行正常,当我运行python程序。 但是,我使用PyInstaller创build可执行文件后,当我运行使用exe时,它正在创build新的窗口,当多function处理模块被调用。 这里是代码和一步一步的过程来重现问题。 码: import sys import multiprocessing from PySide import QtGui from PySide import QtCore def factorial(): f = 4 r = 1 for i in reversed(range(1, f+1)): r *= i print 'factorial', r class MainGui(QtGui.QWidget): def __init__(self): super(MainGui, self).__init__() self.initGui() def initGui(self): b = QtGui.QPushButton('click', self) b.move(30, 30) b.clicked.connect(self.onClick) self.resize(600, […]

pyinstaller和onefile生成导致错误加载Python DLL(错误代码14001)

我使用pyinstaller从我的脚本文件中创build一个exe文件。 我的脚本是mysql_backup.py 我跑 pyinstaller –onefile mysql_backup.py 产量 52 INFO: wrote C:\Users\vlahopou\PycharmProjects\TestClient\mysql_backup.spec 73 INFO: Testing for ability to set icons, version resources… 104 INFO: … resource update available 105 INFO: UPX is not available. 128 INFO: Processing hook hook-os 219 INFO: Processing hook hook-time 223 INFO: Processing hook hook-cPickle 276 INFO: Processing hook hook-_sre 368 INFO: […]

当我更改图标时,Pyinstaller exe无法正常工作

我正在用python Tkinter做一个GUI。 它也使用numpy和matplotlib。 所以,我使用了pyinstaller,并从python脚本中创build一个exe。 它完美无瑕地运行,做了我想要的一切。 然后,我尝试从gui窗口(我正在使用Windows 10)更改tk图标 master.iconbitmap(default='image.ico') 除了这一行,我不改变主程序。 然后使用pyinstaller和我没有任何错误的exe文件。 但是,当我试图运行该exe文件显示“致命的错误!file.exe返回-1”我错过了什么? 如何解决这个问题? 另外我还有一个额外的问题,我build立的第一个exe(不更改图标)在Windows-10和Windows-8上运行,而不是在Windows-7上运行。 在Windows 7中它显示相同的错误“致命的错误!file.exe返回-1”

我可以在构buildpyinstaller可执行文件时控制体系结构(32位和64位)吗?

简短的问题 在构buildpyinstaller可执行文件时,有没有办法控制/保证体系结构(32位和64位)? 背景 我从py2exe迁移到pyinstaller是因为缺乏64位的支持以及一些我很难看的过去的小事情。 所以在这个笔记上,我不想回到它。 我使用Python 2.7 64位开发了两个应用程序,并且在32位机器上运行时遇到性能问题。 首先是一个简单的wxPython GUI(版本2.9),并连接到一个USB驱动程序的Windows DLL文件。 这个看起来非常“安全”,以32位的方式运行,因为没有只有64位的模块。 但是,在32位Windows XP上运行时,这个应用程序在与USB设备交谈时会遇到可怕的性能问题。 第二个应用程序要大得多,我还没有试图build立和运行,因为害怕架构问题。 这个应用程序只有一个64位的模块(psycopg2)。 我想远离试图build立这个如果不可能作为一个32位的可执行文件运行。 当前的想法 我觉得这可能是可行的(如果模块有32位支持),通过在32位模式下强制运行python build.py。 这有意义吗? 更新 我在build设的第一个项目上有了几个突破。 事实certificate,性能问题完全取决于两台机器的速度。 我的开发机器有足够的能力来轮询USB设备足够快,而慢得多的testing平台(Windows XP)没有。 我通过修改USB端口轮询的方式解决了这个问题。 现在,这是固定的,我可以在两个系统上运行exe。 尝试将可执行文件构build为单个文件时,出现了一个新问题。 当运行pyinstaller的Build.py时,它将引入应用程序需要运行的所有必需的DLL。 这似乎起初工作很好,但是当我试图运行我build立在Windows 7 64位的单个exe,它不会在Windows XP上运行,因为USBencryption狗的DLL不被识别为有效的DLL。 为了让单个exe在两个系统上运行,我首先尝试从.spec文件(它似乎是一个python脚本)中删除DLL。 这很方便,因为我可以使用普通的python list修饰符修改build命令之前的包含列表。 我的希望是,如果在exe的临时目录中找不到该DLL,它会在系统PATH上find它。 虽然这种方法可能工作,但我不能没有抛出很多错误就运行。 我的第二个尝试是在Windows XP机器上build立应用程序(离开DLLembedded),希望Win XP DLL能够在Windows 7中工作。成功! 这个configuration工作正常。 但是我坚信,这不是最好的解决scheme,因为它完全依赖于在较新的操作系统上运行的较旧的DLL。

如何让其他人在不安装Python的情况下运行你的Python程序

我用Python做了第二个程序。 这是一个计算二次方程根的程序。 我觉得这很酷,我想让我的朋友们使用它,而不必让他们安装python。 我从朋友那里听说过Pyinstaller,我试过这个方法:首先我在cmd中inputpip install pyinstaller 。 然后我改变目录到包含我想与我的朋友分享的文件的文件夹(它被称为vkv.py )。 然后我input这个命令: pyinstaller vkv.py但我得到这个错误: Indexerror: tuple index out of range 。 显然问题是我有Python 3.6.0和Pyinstaller只能使用Python 3.5以上的版本。 所以我不得不尝试另一种方法。 昨天,我尝试了cx_Freeze和其他一些我忘记的方法,但都失败了。 Cx_Freeze失败,因为我有Python 3.6.0(与Pyinstaller相同),我不记得其他方法出了什么问题。 我的朋友(谁告诉我关于Pyinstaller)告诉我使用virtualenv,所以我查了一个关于这个问题的教程。 看起来我需要创build一个使用Python 3.5的虚拟环境。 所以这些是我在cmd中input的命令: pip install virtualenv mkdir Environments cd environments virtualenv -p C:\Users\hp\AppData\Local\Programs\Python\Python35\python.exe py35_env (在input这个命令之前,我安装了Python 3.5.0) C:\Users\hp\Environments\py35_env\Scripts\activate 现在环境已经被激活了,我在这个环境下pip install pyinstaller ,用pip install pyinstaller 。 然后,我将目录更改为: C:\Users\hp\Desktop\Code\Python testing (这是vkv.py文件所在的位置)。 […]

在Windows XP下运行Python二进制文件

我将PySide应用程序编译为x32和x64模式,并在Windows 7 +下工作。 但是我发现应用程序无法在Windows XP下启动。 我应该额外使用spec-file中的一些技巧吗? 当前PyInstaller脚本显示在下面的app.spec文件中: pyinstaller src / app.spec # -*- mode: python -*- import os import platform from PySide import QtCore onefile = False console = False platform_name = platform.system().lower() app_name = {'linux': 'app', 'darwin': 'app', 'windows': 'app.exe'}[platform_name] # Include imageformats plugins plugins=os.path.join(os.path.dirname(QtCore.__file__), "plugins\\imageformats") static_files = Tree(plugins, 'plugins\\imageformats') static_files += [('app.ico', 'src\\app.ico', […]

无法与pyinstaller一起使用pyexcel-xls。 python可执行文件不工作。 python版本3.4.4

该程序运行时使用: Python filename.py 但是当我使用“ pyinstaller ”创build它的可执行文件时 pyinstaller -F filename.py 可执行文件已成功创build,但脚本的执行失败并引发以下错误。 Traceback (most recent call last): File "site-packages\pyexcel_io\manager.py", line 160, in create_reader File "site-packages\pyexcel_io\manager.py", line 222, in _get_a_handler pyexcel_io.manager.NoSupportingPluginFound: No suitable library found for xls During handling of the above exception, another exception occurred: Traceback (most recent call last): File "script.py", line 8, in <module> File […]