zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    java正则表达式校验密码必须是包含大小写字母、数字、特殊符号的8位以上组合
    ActiveMQ入门
    枚举的使用
    SSM整合
    springmvc 狂神说的详细笔记
    狂神说Java Mybatis笔记
    Spring5入门基础知识
    Ajax的使用详解
    Filter 过滤器的使用详解
    mysql备份与恢复命令
  • 原文地址:https://www.cnblogs.com/yaoweilei/p/7528471.html
Copyright © 2011-2022 走看看