Python基础教程(第3版)中文版 第18章 程序打包 (笔记)

简介: Python基础教程(第3版)中文版 第18章 程序打包 (笔记)

这一章的python版本好像要使用python 3.5,因为3.6以及后面的版本都不支持某些模块了。


第18章 程序打包

将程序打包,用户只要双击即可运行。

1.Setuptools基础

例:简单的Setuptools安装脚本(setup.py)

from setuptools import setup


setup(name='Hello',

     version='1.0',

     description='A simple example',

     author='liu',

     py_modules=['hello']

     )

同一目录下创建一个hello.py

print('Hello, world!')


进入命令行,输入

python setup.py

来执行

#这个命令不会执行真正的操作

输入命令

python setup.py build

将创建一个名为build的目录,其中包含子目录lib,同时将hello.py复制到了这个子目录中。

目录build相当于工作区,Setuptools在其中组装包。

安装时不需要执行命令build,如果需要会自动build。


python setup.py install

安装模块

2.打包

创建源代码归档文件:python setup.py sdist

将出现一个dist目录,其中包含Hello-1.0.tar.gz

其他人可将其解压,然后使用setup.py 进行安装

3.

编译扩展

使用setup.py脚本安装c代码

...

4.使用py2exe创建可执行程序(不支持python3.6及以后的版本了. .)

py2exe是Setuptools的一个扩展,能够创建可执行Windows程序(.exe)。

例:

有1个hello.py

print('Hello,world!')

input('Press <enter>')

同一目录下创建setup.py

from distutils.core import setup

import py2exe


setup(console=['hello.py'])


然后进入cmd运行:

python setup.py py2exe

将得到可执行的.exe文件


相关文章
|
17小时前
|
机器学习/深度学习 算法 搜索推荐
从理论到实践,Python算法复杂度分析一站式教程,助你轻松驾驭大数据挑战!
【7月更文挑战第22天】在大数据领域,Python算法效率至关重要。本文深入解析时间与空间复杂度,用大O表示法衡量执行时间和存储需求。通过冒泡排序(O(n^2)时间,O(1)空间)与快速排序(平均O(n log n)时间,O(log n)空间)实例,展示Python代码实现与复杂度分析。策略包括算法适配、分治法应用及空间换取时间优化。掌握这些,可提升大数据处理能力,持续学习实践是关键。
9 1
|
5天前
|
数据采集 小程序 数据库
20年“镇国级”IT大牛,竟搞出500页漫画Python零基础顶级教程!
乔布斯说每个人都应该学习一门编程语言。Python正热,我决定通过编程让自己习得一种思考问题的方式,这也是我在个人编程生涯中的最大收获。 我以为只能枯燥无味地学编程,直到看到本书的样章,以漫画形式让我更直观、生动地了解到什么是编程。超级喜欢这种漫画风格。我回想起自己当年学习编程语言时的情景:逼迫自己背诵和消化、吸收那些自己根本没有理解的内容。如果当时有这么一本书,我就不会学得那么艰难,然后用了那么久才摸索成为一名“攻城狮”。
|
9天前
|
存储 开发者 网络架构
在Python中,`setuptools`是一个强大的工具,用于帮助开发者打包和分发他们的Python代码库。
在Python中,`setuptools`是一个强大的工具,用于帮助开发者打包和分发他们的Python代码库。
|
9天前
|
网络协议 安全 Python
Scapy一个强大的 Python 程序(二)
Scapy是Python的网络安全工具,可用于创建和修改网络包
|
10天前
|
网络协议 Python
Scapy一个强大的 Python 程序(一)
Scapy是Python的网络数据包操作工具,用于创建、分析和发送网络包。启动Scapy需以管理员权限运行`sudo scapy`。在交互式环境中,可构建自定义数据包,如设置IP包的`ttl`、`src`和`dst`。通过`/`叠加协议层,如IP和TCP。发送数据包示例:构造向`www.slashdot.org`的HTTP GET请求。Scapy还能用于嗅探、过滤和修改数据包,功能强大。
|
12天前
|
存储 算法 调度
惊呆了!Python高级数据结构堆与优先队列,竟然能这样优化你的程序性能!
【7月更文挑战第10天】Python的heapq模块实现了堆和优先队列,提供heappush和heappop等函数,支持O(log n)时间复杂度的操作。优先队列常用于任务调度和图算法,优化性能。例如,Dijkstra算法利用最小堆加速路径查找。堆通过列表存储,内存效率高。示例展示了添加、弹出和自定义优先级元素。使用堆优化程序,提升效率。
23 2
|
13天前
|
NoSQL Shell MongoDB
【Python】已解决:(MongoDB安装报错)‘mongo’ 不是内部或外部命令,也不是可运行的程序
【Python】已解决:(MongoDB安装报错)‘mongo’ 不是内部或外部命令,也不是可运行的程序
18 0
|
14天前
|
机器学习/深度学习 数据采集 自然语言处理
Python实现循环神经网络SimpleRNN、LSTM进行淘宝商品评论情感分析(含爬虫程序)
Python实现循环神经网络SimpleRNN、LSTM进行淘宝商品评论情感分析(含爬虫程序)
Python实现循环神经网络SimpleRNN、LSTM进行淘宝商品评论情感分析(含爬虫程序)
|
17天前
|
数据采集 存储 JSON
Python 数据抓取教程:完结篇
Python 数据抓取教程:完结篇
25 1
|
18天前
|
Python
Python 中 decimal 模块的用法教程
Python 中 decimal 模块的用法教程
13 0