使setup.py clean更有用。

setupext-janitor的Python项目详细描述


VersionDownloadsStatusLicense

扩展clean命令以删除 发展进程。

等等…为什么?什么??

因此setup.py clean对于c扩展或 任何其他利用setup.py build命令的东西。 纯python包生成它们自己的一组工件 在源代码树上。这个包扩展了clean命令,以便 它也会删除以下工件:

  • sdist和^{tt5}生成的分发目录$ 命令
  • 顶层.egg info.egg目录,由setup.py创建
  • 本地虚拟环境目录
  • \u pycache目录
我来自一个C/C++后台,在这里,通常提供的是 保持目标如cleandist cleanmainter clean。 这一扩展的灵感来自于对干净工作的同样渴望 环境。

安装

setuptools包包含许多有趣的方法,其中 它可以扩展。使用此扩展的最简单方法是安装 它进入环境并使用它。包扩展了clean 通过安装distutils extension

$ pip install -q 'setupext-janitor'
$ ./setup.py clean --dist --eggs
running clean
removing './my_package.egg-info' (and everything under it)
removing 'dist' (and everything under it)

还可以使用 setup_requirescmdclass关键字参数到setup 函数调用。这比应该的要难一点 setupext_janitor包需要导入到setup.pyso 它可以在下载前作为关键字参数传递。 最简单的方法是捕获发生的ImportError。 如果尚未下载:

import setuptools
try:
   from setupext_janitor import janitor
   CleanCommand = janitor.CleanCommand
except ImportError:
   CleanCommand = None

cmd_classes = {}
if CleanCommand is not None:
   cmd_classes['clean'] = CleanCommand

setup(
   # normal parameters
   setup_requires=['setupext_janitor'],
   cmdclass=cmd_classes,
   entry_points={
      # normal parameters, ie. console_scripts[]
      'distutils.commands': [
         ' clean = setupext_janitor.janitor:CleanCommand']
      }
)

不建议使用这种方法,因为install_requires关键字 安装时将setupext_janitor安装到目标环境中 源发行版中的包。更不用说 从setup.py

使用量

安装扩展后,clean命令将接受 很少有新的命令行参数。

setup.py clean --dist
删除各种dist命令生成的目录。
setup.py clean --eggs
删除.egg.egg info目录。
setup.py clean --environment
删除当前活动的虚拟环境,如 $VIRTUAL_ENV环境变量。目录的名称可以 也可以使用--virtualenv-dir命令行选项指定。
setup.py clean --pycache
递归地删除名为\u pycache的目录
setup.py clean --all
去除所有副产品。这与使用--dist--egg--environment--pycache相同。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用JPT测试jira性能时,java无法识别jiraaddress   java com。fasterxml。杰克逊。数据绑定。JsonMappingException:数值(1557587751202)超出int的范围   war中打包后资源中文件的java FileNotFoundException   java调整JPanel中的JTable大小   java将的ArrayList字符串转换为字符?   web项目中的java我们可以在不了解UI的情况下编写核心服务层吗?   java Android Studio如何从Firebase数据库获取名称的用户日志?   java构建同步映射,在单个键上阻塞   springboot中基于实体camelcase变量nam的java命名存储库方法   java数组行中数字的移动   java NumberFormat执行选项   使用JAVA编码EDIFACT映射   java Selenium 3.0.1,新的FirefoxDriver+木偶卡在起始页上   使用导入java*怎么样用于使用包“java”下的所有子包?   在Groovy(或Java)中如何将字符串数组的所有索引包含到一行中   swing为什么我的图像不显示?(JavaGUI)