使用distutils可以将编写的python模块或包安装到python目录中去。
步骤:
1.准备好要安装的模块和包
2.编写setup.py,如:
#!/usr/bin/env python
from distutils.core import setup
setup (# Distribution meta-data
name = "testpackage",
version = "1.0",
description = "Distutils sample distribution testpackage",
#py_modules = [''],
packages = ['TestPackage'], 可以增加更多的参数
3.打包
>>> python setup.py sdist // 源码安装包
>>> python setup.py bdist_wininst //Windows 下使用
>>> python setup.py bdist_rpm //Linux 下使用
也可以在linux系统下使用python setup.py bdist --formats=wininst 然后将dist/*.exe复制到windows系统上安装
4.安装
源码包的安装是将源码包解压后,运行setup.py install;而Windows和Linux安装包则直接运行安装文件;
5编译扩展
#!/usr/bin/env python
from distutils.core import setup,Extension
setup(name='pa',version='1.0',ext_modules=[Extension('palindrome',['palindrome2.c'])])
如果使用install命令运行这个setup.py脚本,palinderome扩展模块应该会在安装前自动编译,如你所见,不是指定模块名字到列表,而是将Extension实例到列表提供给ext_modules参数。在linux系统下当前目录中生成palindrome.so文件,使用命令:python setup.py build_ext --inplace
安装swig可以让distutils直接使用它。让distutils使用swig将程序直接俄编译为python扩展是非常方便到,只要在extension实例中将接口(.i)文件到名字添加到文件列表中即可:
#!/usr/bin/env python
from distutils.core import setup,Extension
setup(name='pa',version='1.0',ext_modules=[Extension('pa',['pa.c','pa.i'])])
在linux系统下当前目录中生成palindrome.so文件,使用命令:python setup.py build_ext --inplace
阅读(2368) | 评论(0) | 转发(0) |