`
shake863
  • 浏览: 661219 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python 打包【转】

阅读更多

python的第三方模块越来越丰富,涉及的领域也非常广,如科学计算、图片处理、web应用、GUI开发等。当然也可以将自己写的模块进行打包或发布。 一简单的方法是将你的类包直接copy到python的lib目录,但此方式不便于管理与维护,存在多个python版本时会非常混乱。现介绍如何编写 setup.py来对一个简单的python模块进行打包。

一、编写模块
进入项目目录
#cd /home/pysetup
#vi foo.py

二、编写setup.py
#vi setup.py

更多参数说明见表:
点击在新窗口中浏览此图片

三、setup.py参数说明


#python setup.py build     # 编译
#python setup.py install    #安装
#python setup.py sdist      #生成压缩包(zip/tar.gz)
#python setup.py bdist_wininst  #生成NT平台安装包(.exe)
#python setup.py bdist_rpm #生成rpm包


或者直接"bdist 包格式",格式如下:


#python setup.py bdist --help-formats
  --formats=rpm      RPM distribution
  --formats=gztar    gzip'ed tar file
  --formats=bztar    bzip2'ed tar file
  --formats=ztar     compressed tar file
  --formats=tar      tar file
  --formats=wininst  Windows executable installer
  --formats=zip      ZIP file


四、打包
#python setup.py sdist


running sdist

warning: sdist: manifest template 'MANIFEST.in' does not exist (using default file list)
warning: sdist: standard file not found: should have one of README, README.txt

writing manifest file 'MANIFEST'
creating Myblog-1.0
making hard links in Myblog-1.0...
hard linking foo.py -> Myblog-1.0
hard linking setup.py -> Myblog-1.0
creating dist
tar -cf dist/Myblog-1.0.tar Myblog-1.0
gzip -f9 dist/Myblog-1.0.tar
removing 'Myblog-1.0' (and everything under it)


提示两条warning可以忽略,不影响打包,当然一个完善的项目必须有README及MANIFEST.in(项目文件清单)文件。
#ls dist

Myblog-1.0.tar.gz

五、安装
#tar -zxvf Myblog-1.0.tar.gz
#cd Myblog-1.0.tar.gz
#python setup.py install (此命令大家再熟悉不过了)


running install
running build
running build_py
creating build/lib.linux-x86_64-2.6
copying foo.py -> build/lib.linux-x86_64-2.6
running install_lib
copying build/lib.linux-x86_64-2.6/foo.py -> /usr/local/lib/python2.6/dist-packages
byte-compiling /usr/local/lib/python2.6/dist-packages/foo.py to foo.pyc
running install_egg_info
Writing /usr/local/lib/python2.6/dist-packages/Myblog-1.0.egg-info


六、测试


>>> from foo import MyClass
>>> app=MyClass()
>>> app.print printblog()
>>> app.printblog()
http://blog.liuts.com
>>> app.printBblog()
HTTP://BLOG.LIUTS.COM
>>>


参考文献:
http://docs.python.org/distutils/setupscript.html

分享到:
评论

相关推荐

    win7解决python打包EXE不能运行升级包.rar

    总结一下,"win7解决python打包EXE不能运行升级包.rar"是为了解决Python打包的EXE在Windows 7系统下无法运行的问题。通过安装提供的MSU更新包,可以修复系统兼容性问题,使得打包的Python程序能在Win7环境下顺利执行...

    使用python打包生成exe文件,win7 64位和32位均可运行

    使用python打包生成exe文件,win7 64位和32位均可运行 当前环境说明: win7 64位,已安装python3.6-64位版本 python3.6-64位环境变量已配置 问题:win7 64位打包成exe文件后,不能在32位系统运行 需求:...

    Python打包工具.exe

    Python打包工具.exe

    python打包软件.zip

    Python打包软件是一个重要的工具,它使得开发者能够将Python源代码转换为独立的.exe可执行文件,以便在没有Python环境的Windows计算机上运行。这个过程通常涉及到使用特定的打包工具,如PyInstaller,它是一个流行的...

    Linux环境下离线安装python打包环境所需要的包

    在Linux环境下离线安装Python打包环境,主要是为了创建可执行程序,这通常涉及到Python的解释器、库依赖以及打包工具。以下将详细讲解这个过程的关键步骤和涉及的组件。 首先,`pyinstaller`是Python中广泛使用的...

    python打包,调试

    Python打包是将Python程序及其依赖项整合成一个可执行文件或独立的软件包的过程,这样用户无需安装Python环境即可运行程序。这个过程涉及到多个知识点,包括模块化、虚拟环境、打包工具、部署策略等。接下来,我们将...

    QPT - Python程序模块化封装工具(Py转EXE),快速将Python打包为EXE并添加CUDA、NoAVX等支持

    QPT - Python程序模块化封装工具(Py转EXE),快速将Python打包为EXE并添加CUDA、NoAVX等支持。QPT是一款可以“模拟”开发环境的多功能封装工具,最短只需一行命令即可将普通的Python脚本打包成EXE可执行程序,并...

    Python 解决图片不能被一同打包到可执行文件中的问题 Python源码

    Python 解决图片不能被一同打包到可执行文件中的问题 Python源码Python 解决图片不能被一同打包到可执行文件中的问题 Python源码Python 解决图片不能被一同打包到可执行文件中的问题 Python源码Python 解决图片不能...

    python打包生成so文件的实现

    python3 安装:cython pip3 install cython -i http://mirrors.aliyun.com/pypi/simple/ pip国内的一些镜像   阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 ...

    python打包exe文件库

    当需要把自己写的程序移植到没有安装python的计算机时,需要将自身程序打包。

    Python打包exe环境

    Python打包exe环境,经过测试,可在win10x64,xp-x86上面安装使用,打包出来的exe可在32位系统下运行, python2.7.14 32位,pywin32,pyinstaller-2.0 ,upx308w

    python 打包工具

    Python打包工具是针对Python开发的程序进行封装,使其能够以独立的可执行文件形式运行的实用工具。在Python编程环境中,通常编写好的源代码需要在目标机器上安装相应的Python环境才能运行,这对于分发和部署应用程序...

    python打包EXE例子脚本

    标题"python打包EXE例子脚本"提及的是一个关于Python打包成EXE的实践案例。这通常涉及到使用第三方工具,如`PyInstaller`或`cx_Freeze`。这两个工具都能将Python源代码转换为独立的可执行文件,使非Python环境的用户...

    兼容版64位和32位系统的python打包exe

    "兼容版64位和32位系统的python打包exe"这个主题旨在解决在64位和32位操作系统之间运行Python程序的挑战。 首先,我们要理解Python的位数版本差异。Python有32位和64位两种版本,主要区别在于它们能够处理的内存...

    Python程序打包.pdf

    Python程序打包 Python程序打包是将Python脚本转换为可执行文件的过程,方便用户使用而不需要安装Python和相关依赖库。 Python程序打包有多种方式,包括.py、.pyc和可执行文件等。 .py文件:是Python脚本文件,...

    python打包工具py2exe/pyInstaller

    PyInstaller是另一个广泛使用的Python打包工具,它可以生成单文件可执行程序,也可以创建独立的发行包。PyInstaller支持Windows、Linux、macOS等多种平台,使得你的Python程序可以轻松地跨平台运行。 1. 安装...

    python打包程序win7 win10下运行丢失api-ms-win-crt-runtime-l1-1-0.dll的解决方法

    3. **PyInstaller**:这是一个Python打包工具,可以将Python程序转换为独立的可执行文件,便于分发和运行。但它并不自动处理所有依赖项,尤其是像VC++ Redistributable这样的非Python依赖。 解决方案: 1. **安装...

    Python打包后缺少dll文件,可以下载此文件

    今天写了个Python小程序,打包exe后在我的电脑上运行一直提示缺少dll文件,我下载了2015vc库合集也没解决这个问题,后来从上网找到的资源,如果电脑缺少dll文件,可以下载此文件,也可到微软官网自行下载

    python工程打包成linux可执行文件.pptx

    详细介绍python工程打包成linux可执行文件

    python 打包后win7丢失api-ms-win-core-path无法启动

    标题 "python 打包后win7丢失api-ms-win-core-path无法启动" 描述了一个常见的问题,即使用Python打包工具(如PyInstaller)生成的可执行文件在Windows 7系统上运行时,可能会遇到“api-ms-win-core-path”缺失的...

Global site tag (gtag.js) - Google Analytics