刚接触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
更多技术文章、感悟、分享、勾搭,请用微信扫描:
相关推荐
### Python学习笔记关键知识点 #### 1. Python脚本声明与环境变量 - **脚本声明**: Python脚本可以通过特定的声明方式指定解释器。例如,`#!/usr/bin/env python` 和 `#!/usr/bin/python` 分别表示使用系统默认的...
这些只是Python编程中的一部分关键概念,"Python学习笔记都(是干货).pdf"很可能会深入讨论这些主题,并可能包含实战练习和示例代码,帮助读者巩固理解并提升技能。对于想要深入学习Python的人来说,这份笔记将是一...
首先,我们看到一个名为"Python_Django_学习笔记_软件下载及安装(一).docx"的文件,这很可能是关于Django框架的学习笔记,Django是Python的一个强大Web开发框架。这部分内容可能包括Django的安装步骤,如如何通过pip...
scikit-learn是一个开源的Python机器学习库,基于NumPy、SciPy和matplotlib构建,广泛应用于各种机器学习任务。它提供了一系列算法,包括分类、回归、聚类算法以及模型选择、预处理等功能。 ### 2. 安装scikit-...
本篇学习笔记将深入探讨Python的基础知识,特别是扩展模块和Cython的使用,帮助你提升Python程序的性能。 首先,让我们了解一下Python的“扩展模块”。在Python中,扩展模块是指用其他语言(如C或C++)编写,然后被...
scikit-learn是Python中一个非常流行的开源机器学习库,它基于SciPy,并且得到了NumPy、...它以Python的易用性和社区支持为优势,极大地降低了机器学习的门槛,使得Python成为数据科学领域里一个非常有竞争力的语言。
### Effective Robotics Programming with ROS —— 中文学习笔记 #### 知识点一:ROS环境配置与准备工作 **1.1 安装ROS Indigo** 在开始深入学习《Effective Robotics Programming with ROS》之前,首先需要搭建...
python -m pip install -U pip setuptools python -m pip install matplotlib mac: 打开终端,输入 pip3 install matplotlib 鉴于很多人会报read time out的大红一片,建议使用清华镜像安装: pip install -i ...
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库是开发者在编程时经常会用到的工具,它们提供了丰富的功能,可以帮助程序员高效地完成各种任务。在Python的世界里,`...使用`.whl`文件安装库可以简化流程,提高效率,是Python开发中不可或缺的一部分。
Python自动化构建工具scons使用入门笔记主要介绍了如何使用Python编写的自动化构建工具scons。Scons是一种开放源代码的软件构建和安装工具,它使用Python语言编写,用于替代传统的Makefile构建系统。Scons主要的设计...
接下来,为了安装这个库,我们可以进入解压后的目录,然后使用Python的setuptools模块执行`python setup.py install`命令。如果使用的是虚拟环境,确保先激活虚拟环境再进行安装。 安装完成后,我们就可以在Python...
Django是一个开源的Python Web框架,它遵循MVC(Model-View-Controller)设计模式,并以其“快速开发”和“简洁优雅”的特性著称。Django的目标是通过减少完成项目所需的代码量来加速Web开发过程,并鼓励快速迭代...
【安装Apache+Subversion+ViewVC学习笔记】 在IT领域,特别是版本控制系统中,Subversion(简称SVN)是一个广泛使用的工具,它允许团队协作并管理代码和其他文件的版本。Trac是一个开源的项目管理和问题跟踪系统,...
SSAFY_Python 是一个与Python编程相关的项目或者学习资源包。从提供的信息来看,"SSAFY"可能是一个组织、课程或者活动的缩写,而这个项目专注于Python语言的教学或实践。没有具体的描述,我们只能根据通用的Python...
7. **依赖管理**:`ipython_genutils`作为IPython的依赖库,可能还需要其他的Python库才能正常工作,例如`setuptools`、`six`等。安装时,这些依赖会自动解决,确保IPython的完整功能。 8. **应用场景**:IPython和...
Matplotlib是一个用于Python语言及其数值数学扩展包NumPy的可视化操作界面。它利用通用的图形用户界面工具包,如Tkinter, wxPython, Qt或GTK+,向应用程序嵌入式绘图提供了应用程序接口(API)。此外,matplotlib...