`
guoyunsky
  • 浏览: 859076 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
3d3a22a0-f00f-3227-8d03-d2bbe672af75
Heritrix源码分析
浏览量:207192
Group-logo
SQL的MapReduce...
浏览量:0
社区版块
存档分类
最新评论

Python学习笔记(一) setuptools的使用

 
阅读更多

        刚接触setuptools时为之困惑了一段时间,以为只是一个帮助安装的工具而已。使用之后,才感觉有点类似Java里面的ant,maven。比如下载所需要的包,打包,发布,单元测试等。对于setuptools的介绍资料很多,我也是借助这些资料慢慢对setuptools有了一定的了解。但具体编码的貌似很少,我就写点吧,由浅入深。

具体的安装等可以看这篇文章介绍得很详细:http://www.cnblogs.com/itech/archive/2011/02/13/1953268.html我这里简单的使用介绍也是摘自里面。

一.简单的使用:

直接新建个python脚本:setup_simple.py,内容如下:

'''
Created on Aug 23, 2012

@author: guoyun
'''

from setuptools import setup

setup()

 

运行命令:python setup_simple.py bdist_egg

会发现在你的工程目录下多了build,dist以及UNKNOWN.egg-info这三个目录

 

二.复杂的使用

1.实现类似ant clean的清理命令:

新建Python脚本,setup_clean.py,代码如下:

'''
Created on Aug 23, 2012

@author: guoyun
'''

import sys
import os
import shutil

from setuptools import setup

def main():
    if len(sys.argv) == 2 and sys.argv[1]=='clean':
        #remove .pyc files
        for (dirpath, dirnames, filenames) in os.walk('.'):
            for filename in filenames:
                filepath = os.path.join(dirpath, filename)
                if filepath.endswith('.pyc'):
                    os.remove(filepath)
        #remove dist dir
        if os.path.exists('dist'):
            shutil.rmtree('dist')
            
        #remove dist dir
        if os.path.exists('build'):
            shutil.rmtree('build')
        
        #remove *.egg-info
        if os.path.exists('UNKNOWN.egg-info'):
            shutil.rmtree('UNKNOWN.egg-info')
    
if __name__ == '__main__':
    print 'arguments:',sys.argv
    main()

 

      运行命令:python setup_clean.py clean,会发现你工程目录下刚才通过python setup_simple bdist_egg所创建的build,dist,UNKNOW.egg-info目录以及*.pyc文件都不存在了。

 

     2.打造自己的setup

 

更多技术文章、感悟、分享、勾搭,请用微信扫描:

 

0
4
分享到:
评论

相关推荐

    一个大神的Python学习笔记

    ### Python学习笔记关键知识点 #### 1. Python脚本声明与环境变量 - **脚本声明**: Python脚本可以通过特定的声明方式指定解释器。例如,`#!/usr/bin/env python` 和 `#!/usr/bin/python` 分别表示使用系统默认的...

    Python学习笔记都(是干货).zip

    这些只是Python编程中的一部分关键概念,"Python学习笔记都(是干货).pdf"很可能会深入讨论这些主题,并可能包含实战练习和示例代码,帮助读者巩固理解并提升技能。对于想要深入学习Python的人来说,这份笔记将是一...

    python杂项

    首先,我们看到一个名为"Python_Django_学习笔记_软件下载及安装(一).docx"的文件,这很可能是关于Django框架的学习笔记,Django是Python的一个强大Web开发框架。这部分内容可能包括Django的安装步骤,如如何通过pip...

    scikit-learn学习笔记

    scikit-learn是一个开源的Python机器学习库,基于NumPy、SciPy和matplotlib构建,广泛应用于各种机器学习任务。它提供了一系列算法,包括分类、回归、聚类算法以及模型选择、预处理等功能。 ### 2. 安装scikit-...

    07-python-简介-扩展模块-cython基础

    本篇学习笔记将深入探讨Python的基础知识,特别是扩展模块和Cython的使用,帮助你提升Python程序的性能。 首先,让我们了解一下Python的“扩展模块”。在Python中,扩展模块是指用其他语言(如C或C++)编写,然后被...

    scikitlearn学习笔记

    scikit-learn是Python中一个非常流行的开源机器学习库,它基于SciPy,并且得到了NumPy、...它以Python的易用性和社区支持为优势,极大地降低了机器学习的门槛,使得Python成为数据科学领域里一个非常有竞争力的语言。

    Effective-Robotics-Programming-with-ROS——中文学习笔记

    ### Effective Robotics Programming with ROS —— 中文学习笔记 #### 知识点一:ROS环境配置与准备工作 **1.1 安装ROS Indigo** 在开始深入学习《Effective Robotics Programming with ROS》之前,首先需要搭建...

    python——Matplotlib学习笔记

    python -m pip install -U pip setuptools python -m pip install matplotlib mac: 打开终端,输入 pip3 install matplotlib 鉴于很多人会报read time out的大红一片,建议使用清华镜像安装: pip install -i ...

    小白学习笔记(1)python 安装 打包PyInstaller安装失败

    python 安装 打包PyInstaller安装失败 参照:https://blog.csdn.net/weixin_42312623/article/details/89930356 (1)pip install pywin32; (2)pip install wheel (3)pip install -U setuptools (4)pip ...

    Python库 | notedata-0.5.0-py3-none-any.whl

    Python库是开发者在编程时经常会用到的工具,它们提供了丰富的功能,可以帮助程序员高效地完成各种任务。在Python的世界里,`...使用`.whl`文件安装库可以简化流程,提高效率,是Python开发中不可或缺的一部分。

    Python自动化构建工具scons使用入门笔记

    Python自动化构建工具scons使用入门笔记主要介绍了如何使用Python编写的自动化构建工具scons。Scons是一种开放源代码的软件构建和安装工具,它使用Python语言编写,用于替代传统的Makefile构建系统。Scons主要的设计...

    PyPI 官网下载 | kora-0.4.20.tar.gz

    接下来,为了安装这个库,我们可以进入解压后的目录,然后使用Python的setuptools模块执行`python setup.py install`命令。如果使用的是虚拟环境,确保先激活虚拟环境再进行安装。 安装完成后,我们就可以在Python...

    刷分资源请勿下载2

    Django是一个开源的Python Web框架,它遵循MVC(Model-View-Controller)设计模式,并以其“快速开发”和“简洁优雅”的特性著称。Django的目标是通过减少完成项目所需的代码量来加速Web开发过程,并鼓励快速迭代...

    Win安装svn+trac

    【安装Apache+Subversion+ViewVC学习笔记】 在IT领域,特别是版本控制系统中,Subversion(简称SVN)是一个广泛使用的工具,它允许团队协作并管理代码和其他文件的版本。Trac是一个开源的项目管理和问题跟踪系统,...

    SSAFY_Python

    SSAFY_Python 是一个与Python编程相关的项目或者学习资源包。从提供的信息来看,"SSAFY"可能是一个组织、课程或者活动的缩写,而这个项目专注于Python语言的教学或实践。没有具体的描述,我们只能根据通用的Python...

    ipython_genutils-0.2.0.tar.gz

    7. **依赖管理**:`ipython_genutils`作为IPython的依赖库,可能还需要其他的Python库才能正常工作,例如`setuptools`、`six`等。安装时,这些依赖会自动解决,确保IPython的完整功能。 8. **应用场景**:IPython和...

    无涯教程(LearnFk)-Matplotlib教程离线版.pdf

    Matplotlib是一个用于Python语言及其数值数学扩展包NumPy的可视化操作界面。它利用通用的图形用户界面工具包,如Tkinter, wxPython, Qt或GTK+,向应用程序嵌入式绘图提供了应用程序接口(API)。此外,matplotlib...

Global site tag (gtag.js) - Google Analytics