Articles of pyinstaller

使用pyinstaller从python 3脚本导入theano来为Windows构build一个.exe文件

编辑2017年9月2日下午1点 我最终设法使用pyinstaller在许多情节之后build立一个.exe。 不幸的是,我没有处理'theano'模块(在我的情况下'pymc3'模块需要这个模块),我不得不修改.py文件并放弃部分应用程序。 我在下面的描述有两个目的:首先它可能有帮助; 其次,任何人都可以帮助我build立一个.exe的Windows 7 +,'theano'模块? 提醒:我的python 3脚本在'.ui'文件中打开一个简单的用Qt Designer创build的GUI,并导入pyqtgraph(与pyqt5),pymc3(以及pymc3需要的theano),scipy,numpy,os,sys。 它将分布在Windows 7 +的机器上。 我试图用py2exe,cx_freeze,pynsist和pyinstallerbuild立'.exe'(我打开并更新了几个post,这个仍然是打开的: 从python 3脚本导入pyqtgraph并打开一个GUI为Windows生成一个.exe文件 ),但全部失败。 我最好的结果(与pyinstaller)下面描述后,我不得不放弃theano。 我最后的命令行是: pyinstaller —noupx —onefile —add-data “toto.ui;.” toto.py 。 但奇怪的是: 1 qtdevise器文件“toto.ui”不包含在内,必须与.exe一起发布。 否则在运行.exe文件时会出现错误信息,说toto.ui没有find; 2 python环境的“Library / plugin”目录中的“platforms”目录也必须与.exe一起分发。 否则当运行.exe“这个应用程序启动失败,因为找不到qt平台插件窗口”(但是没有错误信息从pyinstallerbuild立的时候)出现错误信息! 3 .exe是220MB大! 似乎pyinstaller在build设过程中包含了一堆无用的东西。 pyqtgraph问题: 乍一看,模块“pyqtgraph”似乎与pyinstaller不兼容。 事实上,当python代码导入pyqtgraph时,pyinstaller会'yield' inside async function给出一个SyntaxError: 'yield' inside async function 。 这在我看来非常尴尬(这是pyinstaller中的一个错误?),因为我对论坛有印象,这与只与python 3.6兼容的asynchronous生成器有关,而pyinstaller只与python 3.5一起工作 – 这与asynchronous不兼容生成器…为什么pyinstaller使用这个? 事实certificate,这个类似bug的function在一个新版本的pyinstaller中是被禁用的,而这个新版本没有被发布(默认情况下没有安装): […]

与pandas一起使用pyinstaller

我正在尝试与pandas一起使用pyinstaller。 我写了一个非常简单的模块: installtest.py: import pandas print 'Hello!' 然后呢: pyinstaller .\installtest.py 接下来,我编辑了installtest.spec,如同其他问题所述 ,删除了build和dist目录,并在编辑后的spec上再次运行pyinstaller: pyinstaller .\installtest.spec 然后我尝试运行这样的结果exe文件: .\dist\installtest\installtest.exe 但是,我得到以下错误: Traceback (most recent call last): File "installtest.py", line 1, in <module> import pandas File "c:\users\admini~1\appdata\local\temp\pip-build-kuazog\pyinstaller\PyInstaller\loader\pyimod03_importers.py", lin e 389, in load_module File "site-packages\pandas\__init__.py", line 13, in <module> ImportError: C extension: hashtable not built. If you want to import pandas […]

通过pip安装pyinstaller导致“无法创build进程”

有谁知道为什么pyinstaller立即失败后,通过pip通过anaconda 32bit安装anaconda 32bit ? 我安装pyinstaller通过pip install pyinstaller通过在Windows 64位使用32位anaconda anaconda命令提示符(因为我想创build32位可执行文件) 是的,我读了pyinstaller – 版本无法创build进程和点/ easy_install失败:未能创build进程和如何安装pyinstaller使用点 我没有重命名15分钟前安装anaconda的任何文件,pycharm 10分钟前和pyinstaller 5分钟前。 我卸载pyinstaller通过pup卸载并重新安装在anaconda脚本文件夹,这没有做任何事情。 任何有识之士? #windowsfrustrationspathC:\Users\me\Anaconda\Lib\site-packages>PyInstaller

将Python脚本转换为可在所有/大多数Windows版本上运行的.exe文件

我知道如何使用Py2Exe,PyInstaller等将Python脚本转换为Windows可执行文件(.exe)。 但有没有办法将一个Python脚本转换为.exe,可以在所有以下版本的Windows上运行:Windows XP到Windows 8? 请记住我的Python脚本非常简单,不使用任何类似pyGTK或wxPython的库。 它只是一个简单的控制台脚本,列出目录中的所有文件并将其写入文件。 所以,如果我要在我的Windows 7 64位计算机上使用Py2Exe编译以下脚本,那么.exe是否可以在所有以下版本的Windows上运行:Windows XP到Windows 8? 我希望我不需要创build一个32位版本,然后一个64位版本。 import os def main(): #TODO: get command line arguments files = listdir("\") out = open('outfile.txt', 'w') out.write(files) out.close() main()

pyInstaller:导入错误

我在Windows中,使用pyInstaller打包python文件。 但是发生了一些错误: Traceback (most recent call last): File "<string>", line 2, in <module> File "D:\Useful Apps\pyinstaller-2.0\PyInstaller\loader\iu.py", line 386, in i mportHook mod = _self_doimport(nm, ctx, fqname) File "D:\Useful Apps\pyinstaller-2.0\PyInstaller\loader\iu.py", line 480, in d oimport exec co in mod.__dict__ File "D:\Useful Apps\pyinstaller-2.0\server\build\pyi.win32\server\out00-PYZ.p yz\SocketServer", line 132, in <module> File "D:\Useful Apps\pyinstaller-2.0\PyInstaller\loader\iu.py", line 386, in i mportHook mod […]

PyInstaller将不会安装Python 3.6.0a4和x64 Windows

我曾经说过Python版本(来自https://www.python.org/downloads/windows/ )和x64 Windows 10.每当我尝试执行“pip install pyinstaller”时,它都会崩溃,并显示一个错误消息: C:\WINDOWS\system32>pip install pyinstaller Collecting pyinstaller Using cached PyInstaller-3.2.tar.gz Requirement already satisfied (use –upgrade to upgrade): setuptools in c:\users\jskurski\appdata\local\programs\python\python36\lib\site-packages (from pyinstaller) Collecting pefile (from pyinstaller) Using cached pefile-2016.3.28.tar.gz Collecting pypiwin32 (from pyinstaller) Using cached pypiwin32-219.zip Complete output from command python setup.py egg_info: Traceback (most recent call last): File "<string>", line […]

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, […]