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

基于jsp的精品课程网站建设花生壳怎么建设网站

基于jsp的精品课程网站建设,花生壳怎么建设网站,东莞外贸网站的推广,建设将网站加入受信网站再试第十八章 程序打包 Setuptools和较旧的Distutils都是用于发布Python包的工具包#xff0c;能够使用Python轻松地编写安装脚本。这些脚本可用于生成可发布的归档文档#xff0c;供用户用来编译和安装编写库。 Setuptools并非只能用于创建基于脚本的Python安装程序#xff0…第十八章 程序打包 Setuptools和较旧的Distutils都是用于发布Python包的工具包能够使用Python轻松地编写安装脚本。这些脚本可用于生成可发布的归档文档供用户用来编译和安装编写库。 Setuptools并非只能用于创建基于脚本的Python安装程序还可用于编译扩展。 通过将其与扩展py2exe和py2app结合起来使用还可创建独立的Windows和macOS可执行程序。 Setuptools基础 如果没有安装Setuptools可使用pip安装 简单的Setuptools安装脚本setup.py 请将代码所示的脚本存储为setup.py这适用于所有的Setuptools安装脚本并确保其所在目录包含简单模块beyond.py。 from setuptools import setupsetup(nameBeyond,version1.0,descriptionA simple example,authorbeyondyanyu,py_modules[beyond])使用这个简单的脚本 python setup.py将出现类似于下面的输出 usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]or: setup.py --help [cmd1 cmd2 ...]or: setup.py --help-commandsor: setup.py cmd --helperror: no commands supplied要获得更多的信息可使用开关--help或--help-commands。 执行命令build让Setuptools行动起来。 python setup.py build将出现类似于下面的输出 running build running build_py creating build creating build/lib copying beyond.py - build/libSetuptools创建了一个名为build的目录其中包含子目录lib。同时将将beyond.py复制到了这个子目录中。目录build相当于工作区Setuptools在其中组装包以及编译扩展库等。安装时不需要执行命令build因为当你执行命令install时如果需要命令build会自动运行。 在上述这个示例中命令install将把模块beyond.py复制到PYTHONPATH指定的特定目录中。这应该不会带来风险但如果你不想弄乱系统应该将其删除。 安装install这个模块 python setup.py install输出应该非常多其末尾的内容类似于下面这样 Installed /path/to/python3.5/site-packages/Beyond-1.0-py3.5.egg Processing dependencies for Beyond1.0 Finished processing dependencies for Beyond1.0 byte-compiling在安装过程中Setuptools创建了一个.egg文件这是一个独立的Python包。 在这个脚本中只使用了Setuptools指令py_modules。如果要安装整个包可以类似的方式列出包名使用指令packages。 打包 编写让用户能够安装模块的脚本setup.py后就可使用它来创建归档文件了。 这里主要介绍如何创建.tar.gz文件 要创建源代码归档文件可使用命令sdist表示source distribution。 python setup.py sdist如果执行上述命令可能出现大量的输出其中包括一些警告。完全可以对这些警告置若罔闻但也可在脚本setup.py中添加author_email类似于选项author并在当前目录中添加文本文件README.txt。 现在除目录build外应该还有一个名为dist的目录。在这个目录中有一个名为Beyond-1.0.tar.gz的文件。 可将其分发给他人而对方可将其解压缩再使用脚本setup.py进行安装。 不想生成.tar.gz文件还有其他几种分发格式可供使用。要设置分发格式可使用命令行开关--formats这个开关为复数形式表明你可指定多种用逗号分隔的格式这样将一次性创建多个归档文件。要获悉可使用的格式列表可给命令sdist指定开关--help-formats。 编译扩展 假设这个源代码文件palindrome2.c位于当前目录中第17章中程序palindrome的源代码则可使用下面的setup.py脚本来编译并安装它 一个回文检查示例palindrome2.c #include Python.hstatic PyObject *is_palindrome(PyObject *self, PyObject *args) {int i, n;const char *text;int result;if (!PyArg_ParseTuple(args, s, text)) {return NULL;}nstrlen(text);result 1;for (i 0; i n/2; i) {if (text[i] ! text[n-i-1]) {result 0;break;}}return Py_BuildValue(i, result); /* i表示一个整数*/}static PyMethodDef PalindromeMethods[] {/* 方法/函数列表*/{is_palindrome, is_palindrome, METH_VARARGS, Detect palindromes},{NULL, NULL, 0, NULL} };static struct PyModuleDef palindrome {PyModuleDef_HEAD_INIT,palindrome, /* 模块名 */, /* 文档字符串 */-1, /*存储在全局变量中的信号状态 */PalindromeMethods };/* 初始化模块的函数*/ PyMODINIT_FUNC PyInit_palindrome(void) {return PyModule_Create(palindrome); } setup.py脚本 from setuptools import setup, Extensionsetup(namepalindrome,version1.0,ext_modules [Extension(palindrome, [palindrome2.c])] )如果使用这个脚本运行命令install将自动编译扩展模块palindrome再安装它。 这里没有指定一个模块名列表而是将参数ext_modules设置为一个Extension实例列表。构造函数Extension将一个名称和一个相关文件列表作为参数 如果只想就地编译扩展在大多数UNIX系统中这都将在当前目录中生成一个名为palindrome.so的文件可使用如下命令 python setup.py build_ext --inplace如果安装了SWIG参见第17章可让Setuptools直接使用它 代码palindrome.c的源代码显然比包装后的版本简单得多。能够让Setuptools使用SWIG并直接将其作为Python扩展确实非常方便。 为此需要做的非常简单只需将接口文件.i文件palindrome.i的名称加入到Extension实例的文件列表中即可。 palindrome.c的源代码 #include string.h int is_palindrome(char *text) {int i, nstrlen(text);for (i 0; I n/2; i) {if (text[i] ! text[n-i-1]) return 0;}return 1; } 接口文件palindrome.i %module palindrome%{ #include string.h %}extern int is_palindrome(char *text);Extension实例的文件列表 from setuptools import setup, Extensionsetup(namepalindrome,version1.0,ext_modules [Extension(_palindrome, [palindrome.c,palindrome.i])])如果用刚才的命令build_ext可能还要加上开关–inplace运行这个脚本也将生成一个.so文件或与之等价的文件但这次无需自己编写包装代码。 这个扩展指定了名称_palindrome因为SWIG将创建一个名为palindrom.py的包装器而这个包装器将通过名称_palindrome导入一个C语言库。 使用py2exe创建可执行程序 py2exe是Setuptools的一个扩展可通过pip来安装它能够创建可执行的Windows程序.exe文件。 py2exe包可用来创建带GUI参见第12章的可执行文件。 print(Hello, world!) input(Press enter)创建一个空目录再将这个文件hello.py放到这个目录中然后创建一个类似于下面的setup.py文件 beyond.py from setuptools import setupsetup(nameBeyond,version1.0,descriptionA simple example,authorbeyondyanyu,py_modules[beyond])setup.py from distutils.core import setup import py2exesetup(console[beyond.py])接着运行这个脚本 python setup.py py2exe这将创建一个控制台应用程序beyond.exe还将在子目录dist中创建其他几个文件。 有关py2exe的工作原理和高级用法的详细信息可以查阅py2exe官网。 小结 概念解释SetuptoolsSetuptools工具包让你能够编写安装脚本。根据约定这种安装脚本被命名为setup.py。使用这种脚本可安装模块、包和扩展。Setuptools的命令可使用多个命令来运行setup.py脚本如build、build_ext、install、sdist和bdist。编译扩展可使用Setuptools来自动编译C语言扩展并让Setuptools自动确定Python安装位置以及该使用哪个编译器。还可让它自动运行SWIG。可执行的二进制文件Setuptools扩展py2exe可用来从Python程序创建可执行的Windows二进制文件以及其他一些文件可使用安装程序方便地安装。无需单独安装Python解释器就可运行这些.exe文件。在macOS中扩展py2app提供了与py2exe类似的功能。 本章介绍的新函数 函数描述setuptools.setup(…)在脚本setup.py中使用关键字参数配置Setuptools
http://www.yutouwan.com/news/57353/

相关文章:

  • 网站建设有前途做家装的网站有什么区别
  • 石家庄住房建设局网站12306网站花多少钱做的
  • 网站开发有什么好的介绍wordpress qq登录评论
  • 网站快速收录潍坊网站定制 优帮云
  • 郑州网站建设公司有哪些如何在淘宝开网站建设
  • 潍坊专业网站建设怎么收费网站建设ppt模板下载
  • 织梦网站英文版怎么做产品怎么做推广和宣传
  • 中宁建设局网站微信导购网站怎么做视频教学
  • 太原网站制作最新招聘信息网站怎么做适配
  • 卖手表的网站南京医院网站建设方案
  • 网站死链如何处理it运维证书
  • 做旅游网站教程手机赚钱一天400元
  • 长春好的做网站公司排名wordpress一页主题
  • 自闭症网站的建设意义网站设计定制
  • 大连推广网站搭建哪家好沈阳网站建设专业公司
  • 网站备案怎么那么慢电商网站排行
  • 云南专业做网站多少钱做搜索引擎优化对网站有哪些好处
  • 蚌埠网站制作哪里有阳春新农村建设网站
  • 网站推广烟台公司电话c2c平台特点
  • 网页设计模板网站图片wordpress能用手机端
  • 网站建设公司做销售前景好不好提供网站建设备案
  • 辽阳微网站建设现在公司网站重要吗
  • 泰安网站建设xtempire网站建设平台点击进入
  • 网站建设合同需要印花税徐州网站的优化
  • 如何做响应式的网站公司网站建设技术方案模板
  • 重庆建设招标网站响应式网站设计开发
  • 网站建设的费用是多少医疗网站建设方案
  • 重庆网站建设就找承越网站公司如何推广网站
  • 建设网站文件夹的名字做a免费视频在线观看网站
  • 网站开发与建设课程网站 建设 函