当使用cx_Freeze构建二进制文件时,代码保存在生成的可执行文件中。cx_Freeze是一个用于将Python脚本打包成可执行文件的工具,它会将Python解释器和脚本代码一起打包成一个独立的可执行文件。生成的可执行文件中包含了所有的代码和依赖库,可以在没有Python环境的机器上运行。因此,代码不会保存在任何特定的位置,而是被嵌入到生成的可执行文件中。
本文主要就是介绍最后一种方式,.py和.pyc都比较简单,Python本身就可以搞定。将Python脚本打包成可执行文件有多种方式,本文重点介绍PyInstaller,其它仅作比较和参考。
Python 其实是一种相当快的语言,但它并不像编译型语言那么快。 这是因为官方实现的 CPython 解释执行的,更准确地说,是 Python 代码被编译为字节码,然后进行解释。这对学习是很有好处的,因为可以在 Python REPL 中运行代码并立即查看结果,而不必编译和执行。 但是由于 Python 程序并没有那么快,开发人员多年来创建了几个 Python 的编译器,包括 IronPython 和 Jython。
PyInstaller是一个跨平台的Python应用打包工具,支持 Windows/Linux/MacOS三大主流平台,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,从而允许最终用户在无需安装 Python 的情况下执行应用程序。 PyInstaller 制作出来的执行文件并不是跨平台的,如果需要为不同平台打包,就要在相应平台上运行PyInstaller进行打包。
引 言 随着我们对Docker 应用的持续使用,如果不加注意,那么镜像的尺寸就会变得越来越大。很多人在使用Docker 时会发现,团队定制化的Docker 镜像尺寸都至少有1GB 大。镜像越大就意味着编译和部署Docker 应用的时间会越长。因此,我们需要减小需要部署的镜像的尺寸。它会抵消使用Docker 带来的好处,失去快速迭代开发和部署应用的能力。 本文节将深入讨论Docker 镜像层的技术细节以及它们是如何影响最终镜像的大小的。 接下来,我们将在研究Docker 镜像工作原理的过程中,学习如何优化这些镜像层。
在我们完成一个Python项目或一个程序时,希望将Python的py文件打包成在Windows系统下直接可以运行的exe程序。在浏览网上的资料来看,有利用pyinstaller和cx_Freeze进行打包的方法。关于cx_Freeze打包的方法,可以参考wangdamozhizhou博客windows下cx_Freeze生成Python可执行程序中的方法。由于方法主要是可以用于Python3.3版本的,高于该版本的Python无法使用。在我尝试的过程中,碰到的一个问题是:
31 Jan 2018 python技巧分享(五) 这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。 1 如何在命令行查看python文档 $ pydoc sys.exit Help on built-in function exit in sys: sys.exit = exit(...) exit([status]) Exit the interpreter by raising SystemE
目前网上能获取的免费的Python打包工具主要有三种:py2exe、PyInstaller和cx_Freeze。其中PyInstaller最新版只支持Python2.7,py2exe计划开发支持python3.x版本,但是目前还没有完成。只有cx_Freeze支持python3.X版本,也支持python2.X版本。个人也觉得cxfreeze比较简单,不容易出错。
Python越来越热门了,2019年3月TIOBE编程语言排行榜上,Python更是罕见的击败了“霸榜三巨头”之一的C++,挤进前三。
上次给大家透露了本期文章是爬取抖音小视频,因为我们没有介绍过如何爬取app,因此依旧是爬取网站。抖音有一个国际版,其网址是https://www.tiktok.com/,但是在国内访问不了,你需要翻墙。很不幸这篇文章写到一半的时候,我的梯子挂掉了,所以这篇文章就先搁浅了。等后面有空就出几篇基于app的爬虫文章,今天我们的主题是如何将py文件打包成exe格式,以便于在Windows系统上脱机运行。好了话不多说,走你。
adodb:我们领导推荐的数据库连接组件 bsddb3:BerkeleyDB的连接组件 Cheetah-1.0:我比较喜欢这个版本的cheetah cherrypy:一个WEB framework ctypes:用来调用动态链接库 DBUtils:数据库连接池 django:一个WEB framework docutils:用来写文档的 dpkt:数据包的解包和组包 MySQLdb:连接MySQL数据库的 py2exe:用来生成windows可执行文件 Pylons:我们领导推荐的web framework pysqlite2:SQLite的连接组件 pythonwin:Python的Windows扩展 setuptools:无奈,PEAK的一套python包管理机制 sqlalchemy:数据库连接池 SQLObject:数据库连接池 twisted:巨无霸的网络编程框架 wxPython-2.6:因为需要保持与linux相同的版本才没用最新的,GUI编程框架 pypcap:抓包的 python-dnet:控制网络安全的其他设备 pyevent:Python的事件支持 pydot:画图的,graphiz sendpkt:Python发包 simplejson:JSON的支持 DPKT:raw-scoket网络编程 Cx-oracle:连接oracle的好东东 Mechanize:爬虫连接网站常用 PIL:图像处理工具包 reportlab for PDF 文件。 PyQt4 for GUI界面 feedparser: rss解析 chardet:编码检测 scons: 项目构建工具,写好了模板用起来还是很方便的 scapy: 网络包构建分析框架,可编程的wireshark,有兴趣的google “Silver Needle in the Skype” pefile: windows pe文件解析器 winpdb: 自己的程序或者用别的库不太明白的时候就靠它了 pywmi: 省了好多折腾功夫 pylint: 培养良好的编码习惯 下面是准备用的,不做评论: pygccxml pyparsing pymacs idapython paimei pysvn pyLucene wikidpad
Shellcode加载器是一种基本的规避技术。尽管shellcode加载器通常可以促进payload的初始执行,但是启发式检测方法仍可以标记payload的其他方面和行为。例如,很多安全产品可能会在内存中时对其进行检测,或者将特定的网络流量检测为恶意。我们将研究一些适合与加载器结合使用的后期开发框架,并研究如何嵌入其他类型的二进制文件(例如.NET和已编译的PE二进制文件)。
JVM:JVM有自己完善的硬件架构,如处理器、堆栈(Stack)、寄存器等,还具有相应的指令系统(字节码就是一种指令格式)。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需要生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM是Java平台无关的基础。JVM负责运行字节码:JVM把每一条要执行的字节码交给解释器,翻译成对应的机器码,然后由解释器执行。JVM解释执行字节码文件就是JVM操作Java解释器进行解释执行字节码文件的过程。
之前写了一个使用ffplay批量查看格式为h264的图片,每次抽帧后都要打开pycharm编译器来运行程序,然后才能正常查看图片,或者在其他没有安装python环境的电脑中运行,很不方便。为此,在网上找了些方法,发现也是说的一知半解的。因此,自己通过实践记录python3.x下怎么样把.py文件打包成.exe可执行文件,这样就可以直接修改文件内的图片个数就可以双击.exe程序来查看图片了。
花下猫语:Python 是一种入门容易的语言,初学者就可以轻松地完成各种任务,但是,Python 的用处与边界也很广,有太多的话题值得我们去研究探索。今天,我继续给大家分享一篇优质的进阶文章,让我们一起学习进步吧!
译者注:无论你是想快速入手Python还是想为Python应用程序构建本地UI,亦或者对Python代码进行优化,本文列举的6个库,都有可能会帮到你。
众所周知,Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。那么很自然会有人有这样的疑问:难道Python程序只能以源代码的方式来运行吗,能不能通过某种方式来保护自己的源代码呢?答案是肯定的。这方面的技术主要有两种:一种方法是把Python程序伪编译成扩展名为.pyc的字节码文件,一种是通过py2exe、pyinstaller或者cx_Freeze对Python程序进行打包。之前的文章:Python安装扩展库与打包成exe可
Esky is an auto-update framework for frozen Python applications. It provides a simple API through which apps can find, fetch and install updates, and a bootstrapping mechanism that keeps the app safe in the face of failed or partial updates. Updates can also be sent as differential patches.
首先需要明确说明的是,版本问题,python2python2python2 与 python3python3python3 都有自己对应的 pyinstallerpyinstallerpyinstaller 版本。
之前有人跟我说,不想装Python也希望能运行我之前那个多线程磁力链接搜索神器!有些人就会奇怪了,不装Python也就没有对应的解释器去执行文件,怎么可能可以运行?
第一部分着重介绍多阶段构建(multi-stage builds),因为这是镜像精简之路至关重要的一环。在这部分内容中,我会解释静态链接和动态链接的区别,它们对镜像带来的影响,以及如何避免那些不好的影响。中间会穿插一部分对 Alpine 镜像的介绍。链接:两个奇技淫巧,将 Docker 镜像体积减小 99%[1]
领取专属 10元无门槛券
手把手带您无忧上云