zoukankan      html  css  js  c++  java
  • Python distribution打包&安装流程


    开始看并写python有一段时间了,书零零碎碎看了些,博客到是读了很多。

    感觉基础不稳,花了点银子买了书,归零,重头学起。


    正在看head first python,伤不起呀,木有中文版的

    -------------------------------------------------------------------------------------------------

    需求:

    写了一堆自定义的模块,由于较为底层,其他模块想import的时候是十分悲剧的,各种找不到有木有,换个路径就郁闷,换台机器就悲剧

    想类似python第三方模块一样,一个setup.py搞定,就能随便import


    实现:

    python distribution,然后得到一个包了,使用setup.py install安装

    然后,使用时候直接import就ok了.


    1.创建目录结构

    假设我们的module是distribution_test.py

    建一个目录,目录名与module同名

    结构

    distribution_test

                 |-  distribution_test.py


    文件里我只放了一行代码:

    print("Hello,this is a distribution test")


    2.创建setup.py

    在distribution_test目录下编辑setup.py

    内容:

    from distutils.core import setup
    
    setup(
        name = "distribution_test",
        version = "0.0.1",
        py_modules = ["distribution_test"],
        author = "wklken",
        author_email = "wklken@yeah.net",
        url = "http://justtest",
        description = "just a sample of distribution",
        )   

    name是打完包后包名

    py_modules包含模块名列表,每个模块必须在文件夹下存在对应的  模块.py文件 

    例如上面这个配置,需要在文件夹下有一个

    distribution_test.py

    若是配置为py_modules = ["a", "b"]

    则目录下要有 a.py b.py 两个文件

    注意哦,否则一会install会报错的

    其他看着填吧


    3.build

    执行$python setup.py sdist



    然后得到目录:

    distribution_test

            |-distribution_test.py

            |- MANIFEST

            |-setup.py

            |-dist

                   |-distribution_test-0.0.1.tar.gz


    可以看看压缩包里面的文件结构:



    4.安装:

    在当前目录下(distribution_test)

    执行:

    $sudo python setup.py install


    这样就放到了/usr/lib/python下了,sys.path


    5.查看效果:



    6.

    要挪机器?

    只要把你所要打包的module的py文件放到目录下,书写相应的setup.py,执行python setup.py sdist

    然后压个包,扔到对应机器上

    解包

    python setup.py build  

    sudo python setup.py install

    【同安装第三方模块步骤】




    The end!

    2012-03-10


    转载请注明出处哈:http://blog.csdn.net/wklken


    Meet so Meet. C plusplus I-PLUS....
  • 相关阅读:
    DbUtils类的添加,修改,删除
    QueryRunner类的八种结果处理集
    中国传统文化---------斗地主----------
    剑指Offer42 左旋字符串
    剑指Offer41 反转单词顺序,单词字符顺序不变
    剑指Offer40 和为s的连续正数序列
    剑指Offer39 数组中寻找和为sum的两个数字
    剑指Offer36 数字在排序数组中出现的次数
    剑指Offer37 二叉树深度与平衡二叉树判断
    剑指Offer38 数组所有数字出现两次,只有两个出现了一次,找出这两个数字
  • 原文地址:https://www.cnblogs.com/iplus/p/4464659.html
Copyright © 2011-2022 走看看