当前位置: 首页 > news >正文

网站旁边的小图标怎么做的长沙岳麓区

网站旁边的小图标怎么做的,长沙岳麓区,做网站的主流软件,青岛住房和城乡建设厅网站简介 PyInstaller 是一个用于将 Python 程序打包成可执行文件(可执行程序)的工具。它能够将 Python 代码和其相关的依赖项(包括 Python 解释器、依赖的模块、库文件等)打包成一个独立的可执行文件,方便在不同环境中运行…

简介

        PyInstaller 是一个用于将 Python 程序打包成可执行文件(可执行程序)的工具。它能够将 Python 代码和其相关的依赖项(包括 Python 解释器、依赖的模块、库文件等)打包成一个独立的可执行文件,方便在不同环境中运行,而无需安装 Python 环境和相关依赖。

        使用 PyInstaller,你可以将 Python 程序打包成 Windows 的可执行文件(.exe)、Mac OS 的应用程序(.app)以及 Linux 下的可执行文件。打包后的可执行文件可以在原始操作系统之外的其他操作系统上运行(如将 Windows 上的 Python 程序打包成 Mac OS 或 Linux 下的可执行文件)。

问题

        在编写python程序的时候,或多或少会用到多进程,但是使用多进程后,再使用pyinstaller打包我们的程序后,代码会陷入死循环。如Windows中,运行exe时,程序出现多个窗口,关闭以后又出现新的窗口。linux系统中,可以看到启动非常多的进程,如下图:

解决方案

在你的主程序前添加一行代码:

import multiprocessingif __name__=='__main__':# 在此处添加multiprocessing.freeze_support()# 这里是你的代码# ......

有关更多信息,请阅读有关multiprocessing.freeze_support的 Python 库手册。

PyInstaller < 3.3 和 Windows 的其他代码

从 PyInstaller 3.3 开始。添加此代码不再是必需的,它已经由运行时钩子添加。

在 Windows 上,使用 --onefile 可执行文件时,多处理代码失败。此问题特定于 Windows,它不支持 。使用默认 (--onedir) 模式时不会发生这种情况,也不会发生在其他 (Posix) 平台(如所有 Unix 和 Mac OS X 版本)上。spawn()

要在 Windows 上使用 python 模块,您需要扩展多处理代码,如下所示。有关详细信息,请参阅有关背景和票证 https://github.com/pyinstaller/pyinstaller/issues/182 的此主题。_multiprocess_

此配方需要 PyInstaller 3.0 < 3.3。

import os
import sys# Module multiprocessing is organized differently in Python 3.4+
try:# Python 3.4+if sys.platform.startswith('win'):import multiprocessing.popen_spawn_win32 as forkingelse:import multiprocessing.popen_fork as forking
except ImportError:import multiprocessing.forking as forkingif sys.platform.startswith('win'):# First define a modified version of Popen.class _Popen(forking.Popen):def __init__(self, *args, **kw):if hasattr(sys, 'frozen'):# We have to set original _MEIPASS2 value from sys._MEIPASS# to get --onefile mode working.os.putenv('_MEIPASS2', sys._MEIPASS)try:super(_Popen, self).__init__(*args, **kw)finally:if hasattr(sys, 'frozen'):# On some platforms (e.g. AIX) 'os.unsetenv()' is not# available. In those cases we cannot delete the variable# but only set it to the empty string. The bootloader# can handle this case.if hasattr(os, 'unsetenv'):os.unsetenv('_MEIPASS2')else:os.putenv('_MEIPASS2', '')# Second override 'Popen' class with our modified version.forking.Popen = _Popen

测试多处理示例:

import multiprocessingclass SendeventProcess(multiprocessing.Process):def __init__(self, resultQueue):self.resultQueue = resultQueuemultiprocessing.Process.__init__(self)self.start()def run(self):print 'SendeventProcess'self.resultQueue.put((1, 2))print 'SendeventProcess'if __name__ == '__main__':# On Windows calling this function is necessary.# On Linux/OSX it does nothing.multiprocessing.freeze_support()print 'main'resultQueue = multiprocessing.Queue()SendeventProcess(resultQueue)print 'main'

此代码片段的控制台输出应类似于

main
main
SendeventProcess
SendeventProcess

完毕!!!

http://www.yidumall.com/news/55748.html

相关文章:

  • 全国建设工程执业资格注册中心网站seo自动工具
  • 欧美设计网站指数基金排名前十名
  • 企业网站建设公司哪家好南宁网站seo
  • 如何在微信内做网站郑州seo竞价
  • 宿迁网络公司哪家专业苏州seo优化
  • wordpress 自动备份windows优化大师
  • 讯杰网站建设巨量数据分析入口
  • 网站建设价格多少钱无锡网络公司
  • 专门做实习计算机项目的网站平台百度问一问付费咨询
  • 建筑网站ad线上营销渠道
  • 76款wordpress付费主题密码seo查询在线
  • 武汉h5建站模板市场营销策划案的范文
  • 威海医院网站制作怎么建立自己的网页
  • 网站源码 和网站模板区别推广策略都有哪些
  • 淄博网站制作定制推广seo优化方向
  • 淘宝网站建设与规划百度题库
  • asp购物网站源码怎么做公司网站推广
  • 生活中花钱请人做网站定制型营销网站建设
  • 微信公众号怎么做的跟网站似的百度seo优化怎么做
  • 政府门户网站建设的保障体系云南网络营销seo
  • 怎么做售房网站小程序开发需要哪些技术
  • 怎么做网站截图网络视频营销策略有哪些
  • 网站建设服务器和空间费真正免费建站网站
  • 莱芜买房网站制作一个简单的html网页
  • 高水平的徐州网站建设西安百度推广竞价托管
  • 个人网站怎么做推广写软文平台
  • 宣城网站建设无锡百度竞价公司
  • 小程序多少钱一年网站关键词排名优化软件
  • 如何获取网站开发语言成都建设网官网
  • 重庆网站建设要点灰色seo推广