刘少星


人的一切痛苦,本质上都是对自己无能的愤怒。加油!


welcome to mine blog !

学习使用python打包工具distutils

安装和了解distutils

python中自带了distutils,直接用

使用步骤

  • 写一个安装脚本(setup.py)
  • (可选)写一个安装配置文件
  • 创建一个源码分布
  • (可选)创建一个或多个编译过的二进制分布

一个简单的例子

from distutils.core import setup
setup(name='test',
      version='1.0',
      py_modules=['test'],
      )

常见的python术语

  • module 组件 Python中可重用代码的基本单位,这里主要介绍纯python组件、扩展组件和包
  • pure Python module 纯Python组件 完全由python写成的组件
  • extension module 扩展组件 由低级语言(C,C++)等写成的组件
  • package 包 一个含有别的组件的组件。通常包含在文件系统的目录下,并且显示声明在__init__.py文件中
  • root package 根包。 在根目录sys.path下的包

distutils特有的包

  • module distribution 组件分布 一个可以安装的一系列组件的合集
  • pure module distribution 纯组件分布
  • non-pure module distribution 不纯组件分布,含有扩展组件
  • distribution root 你的源码最高级的目录,即setup.py所在目录

编写安装脚本

#!/usr/bin/env python

from distutils.core import setup

setup(name='test',
      version='1.0',
      description='test package',
      author='Su Yan',
      author_email='yansu0711@gmail.com',
      url='http://www.yansu.org',
      packages=['test'],
      scripts=['scripts/test.sh']
     )

这个例子包含了一些详细的信息,在packages中可以利用os.listdir(os.path.join('mydir','subdir'))等函数添加目录下全部目录。

在packages中包含的目录中,最好有__init__.py来声明它是一个包,如果没有,会有异常提醒

scripts这项指,如果你的包有执行文件,可以讲其复制到/usr/local/bin

更早的文章

HTML中meta标签viewpoint的作用

debug过程1.在web上浏览的时候,响应式布局是好用的,放大缩小页面都可以实现页面变更,但是在手机上调试的时候死活不能用2.因为css中@media是根据window的宽度来控制css的,所以我尝试输出了一下在window变更的时候window的width,结果发现PC上使用时一切正常,而手机上输出的一直是980。原因很简单,手机上的浏览器是全屏的,我手机实际宽度是320像素,而我手机分辨率是980宽度,所以手机上打出来的是980而不是3203.增加<meta name="vie...…

HTML继续阅读