通常执行 python 程序要有相应的 Python 环境,但某些特定场景下,我们可能并不愿意这么麻烦的去配置这些环境(比如将写好的脚本发给客户进行操作),如果可以提前将程序打包成 Windows平台的....exe 文件或者是Linux下的 .sh 脚本,那么使用起来就会方便很多,py2exe 和 PyInstaller 这两款工具都是干这么个事的,下面以 hello.py 脚本(代码内容如下)为例进行介绍...\n") print("A: " + age) 提示:PyInstaller 可以在 Windows 和 Linux 下使用,更推荐使用,而 py2exe 暂不支持 Linux 平台 PyInstaller...安装 pip install py2exe 使用 ?...py2exe ? build error 如上图,打包失败了,留意到这里说不支持 python3.6,果断放弃,有兴趣的可以自行降低到 python3.4 或 python3.5 进行尝试。
1.py2 pip install py2exe from distutils.core import setup import py2exe setup(windows=[{"script":..."123.py"}]) 2.py3 pip install pyinstaller win+r cmd+Enter cd C:/python/scripts pyinstaller.exe -F...to transport)/filename.py This report is only used to record my experience. 1. py2 pip安装py2exe...from distutils.core import setup import py2exe setup(windows=[{"script": "123.py"}]) 2....py3 pip安装pyinstaller win + r cmd + Enter cd C: / python /scripts pyinstaller
py2exe可以将Python程序打包成exe程序,使得可以在没有Python环境的机器上运行。...# 为了打包成exe运行的时候能够看清楚,不会一闪而过 sleep(10) 下载py2exe: pip install py2exe 编写setup.py...文件: from distutils.core import setup import py2exe INCLUDES = ['hello_test'] options = { "py2exe..."optimize": 2, # 0、1、2,文件的优化级别 "bundle_files": 1, # 1、2、3,1表示所有文件打包成一个exe文件,2表示除了Python...然后使用python命令生成: python setup.py py2exe 然后在项目根目录会生成dist文件夹,里面就有刚打包好的exe程序: 双击启动: 版权声明
在公司用python写了个统计数据并通过xlsxwriter模块生成excel的小工具, 完成后使用py2exe转换成exe文件过程中遇到了些问题, 记录下. from distutils.core import...setup import sys sys.argv.append('py2exe') # 直接执行python setup.py即可转换 includes = ['xlsxwriter']...options = { 'py2exe': { 'compressed': 1, 'optimized': 2,...None, # 将生成的library.zip打包进exe文件 console=['_init_.py'] ) 转换过程中会提示找不到xlsxwriter模块, 查了下是因为py2exe...还不支持egg模块的打包, 解决办法是将Python27\Lib\site-packages目录下的xlsxwriter模块egg文件解压后复制到工程目录即可 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人
通常执行 python 程序要有相应的 Python 环境,但某些特定场景下,我们可能并不愿意这么麻烦的去配置这些环境(比如将写好的脚本发给客户进行操作),如果可以提前将程序打包成 Windows平台的....exe 文件或者是Linux下的 .sh 脚本,那么使用起来就会方便很多,py2exe 和 PyInstaller 这两款工具都是干这么个事的,下面以 hello.py 脚本(代码内容如下)为例进行介绍...\n") print("A: " + age) 提示:PyInstaller 可以在 Windows 和 Linux 下使用,更推荐使用,而 py2exe 暂不支持 Linux 平台 PyInstaller...安装 pip install py2exe 如上图,打包失败了,留意到这里说不支持 python3.6,果断放弃,有兴趣的可以自行降低到 python3.4 或 python3.5 进行尝试。...文章已授权转载,原文链接:Python 程序打包工具:py2exe 和 PyInstaller
上回在《使用 PyInstaller 打包 Python 程序》中,我们介绍了使用 PyInstaller 对 Python 程序进行打包,今天带大家认识一个新的工具:py2exe。...简介 & 安装 py2exe 是一个将 python 脚本转换成 Windows 上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装 python 而在 Windows 系统上运行这个可执行程序...安装 pip install py2exe # 或者 python -m pip install py2exe 基本用法 看一个简单的例子:先写一个简单的脚本,文件名:helloworld.py: #!...: python mysetup.py py2exe 运行生成的文件: 需要注意,这里需要在 Windows 环境下运行!...注意点 1、py2exe 新版本只支持 python3.3 以上,可以使用 pip install py2exe_py2 来安装兼容 python2 版本; 2、若在 python3.6 版本下运行报错
由于线程是操作系统直接支持的执行单元,因此,高级语言(如 Python、Java 等)通常都内置多线程的支持。...Python 的标准库提供了两个模块:_thread 和 threading,_thread 是低级模块,threading 是高级模块,对 _thread 进行了封装。...1 子线程Thread-1执行,i = 2 子线程Thread-2执行,i = 2 ---主线程结束--- 互斥锁 在一个进程内的所有线程是共享全局变量的,由于线程可以对全局变量随意修改,这就可能造成多线程之间全局变量的混乱...互斥锁保证了每次只有一个线程进行写入操作,从而保证了多线程情况下数据的正确性。 在 threading 模块中使用 Lock 类可以方便处理锁定。...消费者 Consumer 将产品 3 从队列中取出 消费者 Consumer 将产品 4 从队列中取出 生产者 Producer 完成 消费者 Consumer 完成 ---主线程结束--- 更多请参考 Python
使用pyinstaller ,真是受够了,各种bug,各种莫名其妙的情况,也是够了 使用py2exe,学习的时候麻烦,但是打包时候真的太方便了 安装py2exe,网址http://www.py2exe.org.../ 选择对应的版本下载; 撰写setup.py文件`# –– coding:utf-8-– import py2exe from distutils.core import setup setup(...windows=[{“script”:’MergeJPG.py’, “icon_resources”: [(1, “earth.ico”)]}], options={“py2exe”: { “
一、简要 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,目的就是在没有安装python的windows系统上运行这个可执行程序。...二、如何安装py2exe 可以直接在命令行下面执行 easy_install py2exe 来进行安装 然后使用按照如下方法进行测试 E:\>python Python 2.7.6 (default,...0.9版本只支持python3以上,要想在python2.7中运用,就要下载0.6 版本的py2exe,地址如下: http://sourceforge.net/projects/py2exe/files...然后按下面的方法运行mysetup.py: python setup.py py2exe 上面的命令执行后将产生一个名为dist的子目录,其中包含了helloworld.exe,python24.dll...默认情况下,py2exe在目录dist下创建以下这些必须的文件: 1、一个或多个exe文件。 2、python##.dll。
因此使用多线程来实现多任务并发执行比使用多进程的效率高 python语言内置了多线程功能支持,而不是单纯地作为底层操作系统的调度方式,从而简化了python的多线程编程。...而在pypy和jpython中是没有GIL的 python在使用多线程的时候,调用的是c语言的原生过程。...),所以python下的多线程对CPU密集型代码并不友好。...所以python的多线程对IO密集型代码比较友好。 主要要看任务的类型,我们把任务分为I/O密集型和计算密集型,而多线程在切换中又分为I/O切换和时间切换。...结论:I/O密集型任务,建议采取多线程,还可以采用多进程+协程的方式(例如:爬虫多采用多线程处理爬取的数据);对于计算密集型任务,python此时就不适用了。
今日分享: 使用py2exe将python程序打包成.exe可执行程序(未安装python运行环境的用户也可以运行该程序来实现远程发送邮件控制设备的关机与重启) 一、py2exe为一款python程序打包工具...下载地址:https://sourceforge.net/projects/py2exe/files/,选择与之匹配的python版本,及电脑位数,如第三张截图所示 二、下载完成后安装,不允许修改安装目录...最后安装到C:\Python27\Lib\site-packages下py2exe文件夹 三、打包步骤 1、在python编译器中,写一个.py文件作为python打包程序所需要的:【安装引导python...程序】,设定该安装引导python程序名为:email_package.py,需要打包的python程序为:sendEmail.py【该文件内容请见推文:py2exe实现Python文件打包为.exe可执行程序...目录下; 3、在cmd命令窗口中执行相应打包命令: (1)、首先进入到:C:\Python27目录下,输入命令:python email_package.py py2exe 无报错提示则说明该程序打包成功
线程模块 Python3 通过两个标准库 _thread 和 threading 提供对线程的支持。..._thread:已废弃 threading ```python #!.../usr/bin/python3 import threading import time exitFlag = 0 class myThread (threading.Thread): def.../usr/bin/python3 import threading import time class myThread (threading.Thread): def __init__(self...这些队列都实现了锁原语,能够在多线程中直接使用,可以使用队列来实现线程间的同步 Queue 模块中的常用方法: Queue.qsize() 返回队列的大小 Queue.empty() 如果队列为空,返回
那么Python的多任务有哪些方式呢?...Python多任务编程的三种方式 多线程 多进程 协程 今天我们先来聊一聊Python的多线程编程 线程 有两种不同类型的线程: 内核线程 用户空间线程或用户线程
线程是操作系统调度运算的最小单位,本文记录python使用多线程的方法。...因此,使用多线程来实现多任务并发执行比使用多进程的效率高。 Python 语言内置了多线程功能支持,而不是单纯地作为底层操作系统的调度方式,从而简化了 Python 的多线程编程。...Python多线程的工作过程: python在使用多线程的时候,调用的是c语言的原生线程。...),所以python下的多线程对CPU密集型代码并不友好。...所以python的多线程对IO密集型代码比较友好。 使用建议? python下想要充分利用多核CPU,就用多进程。
一、多线程实例 线程时应用程序中工作的最小单位,python中提供了threading模块来对多线程操作,一般多核cpu采用多进程方式,单核才采用多线程方式 方法: 将要执行的方法threading.Thread...运行结果: start worker1 main end end worker1 start worker2 end worker2 说明:只有线程1结束以后,线程2才能执行 三、线程共享变量 多线程和多进程不同之处在于多线程本身就是可以和父进程进行共享内存的
在Python中,可以使用内置的threading模块来创建多线程应用程序。以下是一些基本的多线程概念: 线程:一个线程是一个独立的执行单元,可以在同一个进程中与其他线程并行运行。...下面是一个简单的多线程示例代码: import threading def worker(num): """线程执行的任务""" print('Worker %d started.'...使用多线程可以加快应用程序的处理速度,因为它可以并行执行多个任务。然而,在编写多线程应用程序时,需要特别小心,因为多线程也会带来许多并发性问题,如竞争条件、死锁和内存泄漏等问题。
本次主要介绍Python标准库中的多线程模块threading。 threading模块 线程初始化 使用threading模块的Thread类初始化对象然后调用start方法启动线程。...Thread类的派生 Python中可以通过继承 Thread 类并重写 run 方法来编写多线程的逻辑,此时逻辑函数就是run。...,能够在多线程中直接使用。...代码的执行由Python 主循环来控制,Python 在设计之初就考虑到要在解释器的主循环中,同时只有一个线程在执行,即在任意时刻,只有一个线程在解释器中运行。...因此Python多线程程序的执行顺序如下: 设置GIL 切换到一个线程去运行 运行 结束线程 解锁GIL 重复以上步骤 因此,Python的多线程并没有实现并行,只是实现了并发而已。
Python 多线程 多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理。...实例(Python 2.0+) !...如下: 多线程的优势在于可以同时运行多个任务(至少感觉起来是这样)。但是当线程需要共享数据时,可能存在数据不同步的问题。...实例(Python 2.0+) !...这些队列都实现了锁原语,能够在多线程中直接使用。可以使用队列来实现线程间的同步。
资源分配单位,每个进程 至少一个线程 # 线程:cup调度单位 # thread 基本模块,避免使用,可能与threading 冲突 # threading thread的高级版本 # Queue 多线程之间共享数据的数据结构...========== # GIL 锁的是线程,同一时间 只有一个线程 ,cpython解释器的问题,jpython 就不会 # 对于io密集型 没什么区别,只要io时会切换即可 # 但对于多核cup python...同时只能运行一个cup ,其他语言的会运行多个,因此... # 即不能通过物理核心数增加速度,不能实现(并行) # ============================================ # 多线程...============= # 协程 : 能够在一个线程中实现并发效果的概念 # 能够规避一些任务中的IO操作 # 在任务的执行过程中,检测到IO就切换到其他任务 # 多线程...被弱化了 # 协程 在一个线程上 提高CPU 的利用率 # 协程相比于多线程的优势 切换的效率更快 # ========================================== # 爬虫的例子
今天给大家分享的内容为:python程序实现发送、读取邮件来控制电脑的关机与重启(作为py2exe打包成.exe可执行程序的基础文件) 一、说明:本文介绍的是使用新浪邮箱作为例子进行讲解,代码实现如下:...一般来说,登录使用SMTP,接收使用POP""" class Mail(): """使用python程序远程控制电脑关机或重启""" def sendMail(self):...并休眠2秒后再次进行读取最 新一封邮件,如此循环往复; (3)、执行设备对象为:正在运行该程序的物理机器; 三、重点说明: 1、该python文件需要导入的包模块,需自行先安装; 2、该程序可在python2...和python3环境下运行,此处代码是在python2环境下编写的,如果需要移植到python3环境下,需修改相应的语法; 3、下篇将会讲解如何将该python程序使用py2exe打包成.exe可执行程序...,实现未安装python环境也能通过邮件内容对物理机电脑进行关机和重启的操作; 【未完待续,期待下次更新吧~~~】
领取专属 10元无门槛券
手把手带您无忧上云