• python setuptools


    安装setuptools,创建简单的包

    1)准备setup.py文件

    /yaowl # mkdir demo
    /yaowl # cd demo/
    /yaowl/demo # vim setup.py
    /yaowl/demo # ll
    -rw-r----- 1 root root 125 Sep 15 17:28 setup.py
    /yaowl/demo # cat setup.py
    from setuptools import setup, find_packages
    setup(
    name = "demo",
    version = "0.1",
    packages = find_packages(),
    )

    2)准备代码

    /yaowl/demo # mkdir demo
    /yaowl/demo # cd demo
    /yaowl/demo/demo # vim __init__.py
    /yaowl/demo # cat demo/__init__.py
    #!/usr/bin/env python
    #-*- coding:utf-8 -*-

    def test():
    print "hello world!"

    if __name__ == '__main__':
    test()

    3)打包生成egg(zip文件),

    /yaowl/demo # python setup.py bdist_egg

    4)安装

    /yaowl/demo # python setup.py install
    running install
    running bdist_egg
    running egg_info
    writing demo.egg-info/PKG-INFO
    writing top-level names to demo.egg-info/top_level.txt
    writing dependency_links to demo.egg-info/dependency_links.txt
    reading manifest file 'demo.egg-info/SOURCES.txt'
    writing manifest file 'demo.egg-info/SOURCES.txt'
    installing library code to build/bdist.linux-x86_64/egg
    running install_lib
    running build_py
    creating build/bdist.linux-x86_64/egg
    creating build/bdist.linux-x86_64/egg/demo
    copying build/lib/demo/__init__.py -> build/bdist.linux-x86_64/egg/demo
    byte-compiling build/bdist.linux-x86_64/egg/demo/__init__.py to __init__.pyc
    creating build/bdist.linux-x86_64/egg/EGG-INFO
    copying demo.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
    copying demo.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
    copying demo.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
    copying demo.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
    zip_safe flag not set; analyzing archive contents...
    creating 'dist/demo-0.1-py2.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
    removing 'build/bdist.linux-x86_64/egg' (and everything under it)
    Processing demo-0.1-py2.7.egg
    Copying demo-0.1-py2.7.egg to /usr/lib/python2.7/site-packages
    Adding demo 0.1 to easy-install.pth file

    Installed /usr/lib/python2.7/site-packages/demo-0.1-py2.7.egg
    Processing dependencies for demo==0.1
    Finished processing dependencies for demo==0.1

    /yaowl/demo # python
    Python 2.7.5 (default, May 21 2017, 02:26:50)
    [GCC 4.8.3 20140911 (EulerOS 4.8.3-10.h1)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import demo
    >>> demo.test()
    hello world!
    >>>

    5)打包生成tar.gz

    /yaowl/demo # python setup.py sdist
    /yaowl/demo/dist # tar xzvf demo-0.1.tar.gz
    demo-0.1/
    demo-0.1/demo.egg-info/
    demo-0.1/demo.egg-info/PKG-INFO
    demo-0.1/demo.egg-info/top_level.txt
    demo-0.1/demo.egg-info/dependency_links.txt
    demo-0.1/demo.egg-info/SOURCES.txt
    demo-0.1/PKG-INFO
    demo-0.1/setup.cfg
    demo-0.1/setup.py
    demo-0.1/demo/
    demo-0.1/demo/__init__.py

    6)打包生成rpm包

    /yaowl/demo # python setup.py bdist_rpm

    7)打包生成exe

    python setup.py bdist_wininst生成一个exe文件

    8)指定生成的格式

    python setup.py sdist --formats=gztar***

    9)egg包的安装

    easy_install **.egg

  • 相关阅读:
    ffmpeg处理RTMP流媒体的命令大全
    人像摄影技巧——镜头差异可改变脸部印象
    windows操作系统自带的TCP端口转发
    IIS7.5如何限制某UserAgent 禁止访问
    JS显示上一周
    mysql主从复制(超简单)
    0001-BUGIFX-Magento-Zend-Framework-1-PHP5.6.patch
    Nginx启用Gzip压缩js无效的原因
    开启Nginx的gzip压缩功能详解
    Python 中的垃圾回收机制
  • 原文地址:https://www.cnblogs.com/yaoweilei/p/7528471.html
Copyright © 2020-2023  润新知