如何创建可安装的python工具包

本文详细介绍了如何创建Python工具包,包括编写module.py程序,制作setup.py文件,添加所需文件,制作zip/tar.gz和egg安装包,安装、卸载Package,以及将package上传到pypi并使用pip安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境准备:

        ubuntu14.xx

        python2.7(只实测了这个版本)

        setuptools(egg包是需要)(sudo apt-get install python-setuptools)

Package的制作与安装过程

1. 编写module.py程序

# -*- coding: utf-8 -*-
# Author : ***
# Date:   ***
# Email:  ***

class module(object):
    pass
# 省略一万字 

2. 编写模块

mypkg/
    __init__.py
    module.py
    data/
        tables.dat
        spoons.dat
        forks.dat

3. 写setup.py文件

setup.py中各个参数的含义请参考python官网Writing the Setup Script

from setuptools import setup
setup(...,
      packages=['mypkg'],
      package_dir={'mypkg': 'src/mypkg'},
      package_data={'mypkg': ['data/*.dat']},
      install_requires=["jieba"]
      )
package_dir中“:”前是包名后面是包的位置。

package_data“:”前是包名,后面是data的路径。

install_requries中是依赖包的名称,如果未安装则自动下载依赖包安装。

另外,如果没有依赖包需要下载安装,第一行可以换为:

from distutils.core import setup

4. 添加需要的文件到安装包

默认的文件添加项有:

  • all Python source files implied by the py_modules andpackages options
  • all C source files mentioned in the ext_modules orlibraries options
  • scripts identified by the scripts optionSeeInstalling Scripts.
  • anything that looks like a test script: test/test*.py (currently, theDistutils don’t do anything with test scripts except include them in sourcedistributions, but in the future there will be a standard for testing Pythonmodule distributions)
  • README.txt (orREADME), setup.py (or whatever youcalled your setup script), andsetup.cfg
  • all files that matches the package_data metadata.SeeInstalling Package Data.
  • all files that matches the data_files metadata.SeeInstalling Additional Files.
如果需要添加任意自己想添加的文件,可以写一个 MANIFEST.in文件,include进所有要添加的文件,可参考 MANIFEST.in模块

5. 制作可安装包

使用终端进入setup.py所在文件夹下执行下面指令。一般生成dist文件夹下的一个可安装文件

a. 制作压缩包(zip/tar.gz)

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

b. 制作egg安装包

        #python setup.py bdist_egg

6. 安装Package

安装生成的目录都放在了/usr/local/lib/python2.7/dist-packages/

        #python setup.py install    # tar.gz 解压后进入含有setup.py的目录执行

        #easy_install xxx.egg

7.卸载Package

a. egg卸载:

        手动删除很简单: vim $python_path/Lib/site-packages/easy-install.pth,删除到egg包名所在行,:wq,重启python环境。

        这样做了之后egg包还是遗留下来了,没有被清除,不过这个不用担心,egg包已经不能被引用到python环境了,因为包名中不能有连字符-,而egg文件名中却包含连字符。

        另外也可以尝试卸载命令easy_install -m package-name

b. tar.gz卸载:

        tar.gz安装后的卸载一般通过删除文件夹的方式。

        一种更好的方案是:

            setup.py 帮助你纪录安装细节方便你卸载

            python setup.py install --record log

            这时所有的安装细节都写到 log 里了,想要卸载的时候
            cat log | xagrs rm -rf
            就可以干净卸载了

8. 上传package到pypi使用pip安装

       #python setup.py register

       #python setup.py bdist_egg

       #python setup.py sdist upload


       #pip install packagename # 安装

       #pip install -U packagename # 更新

       #pip uninstall packagename # 卸载

       #pip search packagename # 搜索

       #pip help
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值