RWPy4learner 11.3.30 documentation

Version: 11.3.30
[首页] 写文档 << setup.py (Source) >>小结

setup.py

刚刚学习 Python 时, 小白特别羡慕那些能够自己发布软件包的牛人们。小白多么希望自己也可以发布一个软件包呀。小白想让自己的程序也能通过:

python setup.py install

来安装模块。其他用户安装后,就可以直接使用小白的软件包了。 这个应该做呢?

paste

一个包里有许多文件,除了源代码,还包括setup.py文件等许多文件

一个包里可以通过模板来创建一个包,用paste!

安装

easy_install PasteScript

输出一大串后,安装成功!

创建一个包 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`

paster create mala

然后一个一个填下来……

su@su:~/new$ paster create mala
Selected and implied templates:
  PasteScript#basic_package  A basic setuptools-enabled package

Variables:
  egg:      mala
  package:  mala
  project:  mala
Enter version (Version (like 0.1)) ['']:
Enter description (One-line description of the package) ['']:
Enter long_description (Multi-line description (in reST)) ['']:
Enter keywords (Space-separated keywords/tags) ['']:
Enter author (Author name) ['']:
Enter author_email (Author email) ['']:
Enter url (URL of homepage) ['']:
Enter license_name (License name) ['']:
Enter zip_safe (True/False: if the package can be distributed as a .zip file) [False]:
Creating template basic_package
Creating directory ./mala
  Recursing into +package+
    Creating ./mala/mala/
    Copying __init__.py to ./mala/mala/__init__.py
  Copying setup.cfg to ./mala/setup.cfg
  Copying setup.py_tmpl to ./mala/setup.py
Running /usr/bin/python setup.py egg_info

好嘞,已经生成一个目录!

-mala

   -mala/

   -mala.egg-info/

   -setup.cfg

   -setup.py

再看看setup.py:

from setuptools import setup, find_packages

import sys, os

version = '0.1'

setup(name='mala',

    version=version,

    description="",

    long_description="""\

""",

    classifiers=[], # Get strings from http://pypi.python.org/pypi?%3Aaction=list_classifiers

    keywords='',

    author='',

    author_email='',

    url='',

    license='',

    packages=find_packages(),

    include_package_data=True,

    zip_safe=False,

    install_requires=[

        # -*- Extra requirements: -*-

    ],

        ],
    },
    )

其他都是空值,要讲的就是:

packages=find_packages()

自动查找目录下的包!

尝试安装

sudo python setup.py install

再进入python交互命令:

>>import mala

>>

好啊!成功了。再尝试:

>>mala.GUI()

哈哈!跳出窗口了!

添加系统命令

如何在终端中输入”mala”就可以跳出,而不用进入python交互命令行?

添加代码:

……

 entry_points={

   'console_scripts': [

       'mala = mala:GUI',

   ],

 ……

再安装一下。

尝试

进入终端,输入:

$ mala

哈哈又跳出来了!

小结

小白今天用setuptool模块完成了安装功能!可以一键安装,快速调用,真是太棒了!