首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从setuptools包中排除顶级目录

从setuptools包中排除顶级目录的方法是通过在setup.py文件中添加exclude_package_data参数。这个参数可以帮助您排除指定的顶级目录,以便在构建和发布包时不包含这些目录。

以下是一个示例setup.py文件,演示如何排除名为docstests的顶级目录:

代码语言:python
代码运行次数:0
复制
from setuptools import setup, find_packages

setup(
    name='your-package-name',
    version='0.1',
    packages=find_packages(exclude=['docs', 'tests']),
    package_data={},
    exclude_package_data={
        '': ['docs/*', 'tests/*'],
    },
    install_requires=[
        # Add your package dependencies here
    ],
    entry_points={
        # Add your package entry points here
    },
)

在这个示例中,exclude_package_data参数指定了要排除的目录。''表示全局排除,即适用于所有包。['docs/*', 'tests/*']表示要排除的目录及其子目录。

这样,当您使用setuptools构建和发布包时,docstests目录将被排除,不会包含在最终的包中。

请注意,这个方法仅适用于setuptools,不适用于其他构建工具,如distutils

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python包管理工具setuptools

在demo执行mkdir demo,再创建一个目录,在这个demo目录创建一个__init__.py的文件,表示这个目录是一个,然后写入: #!...其实我们可以将统一放在一个src目录,另外,这个内可能还有aaa.txt文件和data数据文件夹。...另外,也可以排除一些特定的,如果在src再增加一个tests,可以通过exclude来排除它, find_packages(exclude=["*.tests", "*.tests.*", "tests...setuptools会先检查本地有没有符合要求的依赖,如果没有的话,就会PyPI获得一个符合条件的最新的安装到本地。...执行下试试,会发现不但Flask 0.10.1(当前最新版本)被自动安装了,连Flask的依赖Jinja2和Werkzeug也被自动安装了 如果应用依赖的无法PyPI获取怎么办,我们需要指定其下载路径

1.7K20
  • 我应该提交 vendor 目录的依赖

    vendor 目录(或者你安装依赖的其它目录)都应该被添加进 .gitignore/svn:ignore/等等。最好这么做,然后让所有开发人员使用 Composer 来安装依赖。...虽然在某些环境下我们也是可以提交 vendor 目录的,但它将导致一些问题:当你更新代码时,将极大的增加 VCS 仓库的体积和差异。...在你自己的 VCS(代码管理工具) 中将产生与你依赖的资源重复的历史记录。通过 git 的一个 git 仓库安装添加依赖,将把它们视作子模块。...新增一个 .gitignore 规则(/vendor/**/.git)来忽略 vendor 下所有 .git 目录。...通过上面的文字内容,我们知道在使用 Composer 项目的时候,我们不要把 vendor 的内容也提交到代码管理库,而应该使用 Composer 自己在运行的时候下载。

    11510

    Setuptools 【Python工具详解】

    功能亮点 利用EasyInstall自动查找、下载、安装、升级依赖 创建Python Eggs 包含目录内的数据文件 自动包含目录内的所有的,而不用在setup.py列举 自动包含内和发布有关的所有相关文件...创建一个简单的 有了setuptools后,创建一个基本上是无脑操作 cd /tmp mkdir demo cd demo 在demo创建一个setup.py文件,写入 from setuptools...在demo执行mkdir demo,再创建一个目录,在这个demo目录创建一个init.py的文件,表示这个目录是一个,然后写入: #!...其实我们可以将统一放在一个src目录,另外,这个内可能还有aaa.txt文件和data数据文件夹。...,如果在src再增加一个tests,可以通过exclude来排除它, find_packages(exclude=["*.tests", "*.tests.*", "tests.*", "tests

    1.1K10

    Python入门之PyCharm目录directory与package的区别

    为了支持这一点,Python有一种方法将定义函数放在一个文件,并在脚本中使用它们,这样的文件叫做模块,一个模块的定义可以被导入到其他模块,或者主模块。...Image/_init _.pyjpg.pytiff.pybmp.py 只要image目录是我们程序目录的子目录,我们就可以导入image目录下的任意模块来为我们所用,使用时可如下: import Image.bmp...python是: 是一个有层次的文件目录结构,它定义了由n个模块或n个子组成的python应用程序执行环境。...通俗一点:是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子。...python库是参考其它编程语言的说法,就是指python的完成一定功能的代码集合,供用户使用的代码组合。在python和模块的形式。 一般按照API的惯例来设计库。

    2.8K120

    如何Bash脚本本身获得其所在的目录

    问: 如何Bash脚本本身获得其所在的目录? 我想使用Bash脚本作为另一个应用程序的启动器。我想把工作目录改为Bash脚本所在的目录,以便我可以对该目录下的文件进行操作,像这样: $ ....测试结果如下: 另外,可以根据第一种方法结合使用 realpath 命令,也可获取脚本所在目录的绝对路径: #!...)]" echo "dirname : [$(dirname $(realpath "$0") )]" 参考: stackoverflow question 59895 相关阅读: 在shell编程$...(cmd) 和 `cmd` 之间有什么区别 为什么我不能在脚本中使用"cd"来更改目录 为什么在可执行文件或脚本名称之前需要..../(点-斜杠),以便在bash运行它 shell脚本对编码和行尾符敏感吗

    33720

    setup.py即将下岗,PEP 518 说明继任者

    这意味着像pip install spam这样的命令可能最终导致pip和setuptools下载和安装软件,最终,用户需要配置这两个工具(并且不受控制地调用setuptools)来更改它安装的存储库等设置...所有这一切使得pip [4]假定在执行setup.py文件时setuptools是存在的。但问题在于,如果另一个项目像setuptools那样开始在社区获得关注,这个项目就没有可扩展性。...除了[tool]表格,所有其他顶级密钥和表格被保留下来,供其他的PEP将来使用。...由于不再需要范围的限定,因此拥有顶级表的重要性变得多余。 其他表名 [build-system]表的另一个名字是[build]。 替代名称较短,但并未表达信息存储在表的意图。...这彻底排除了某些格式,如对人类不友好的XML,而且从未认真讨论过。 JSON JSON格式[7]起初纳入考虑,但很快被拒绝。

    1.9K70

    golangbig源码阅读——RSA算法说起

    1.2 Golang实现方式 在Golang实现了RSA加密算法:src/crypto/rsa/rsa.go文件实现了RSA算法。该算法实现上述讨论的内容,但是除此之外,还处理可能出来的问题。...38 priv.Precompute() 39 return priv, nil 40} 在RSA,公钥默认为:e=65537,按照所需的素数的个数和生成n的位数生成素数和d,最后进行预先计算操作...Precomputed的Dp,Dq和Qinv分别计算。...2 GolangBig 由于RSA算法在实现过程需要很大(位数很多)的数据,所以没有使用int、int32、int64等数据类型,而是使用math.big中提供的Int类型。...2.1.1 Word (src/math/big/arith.go) 1type Word uint Word类型是uint的别名,它代表了在big基本操作单元,其中包含了一些列基本的算术计算函数,

    1.2K30

    Python打包-setuptools

    setuptools Python打包分发工具setuptools:曾经 Python 的分发工具是 distutils,但它无法定义之间的依赖关系。...setuptools 则是它的增强版,能帮助我们更好的创建和分发 Python ,尤其是具有复杂依赖关系的。其通过添加一个基本的依赖系统以及许多相关功能,弥补了该缺陷。...他还提供了自动查询程序,用来自动获取之间的依赖关系,并完成这些的安装,大大降低了安装各种的难度,使之更加方便,将程序打包以后可以可以安装到自己的虚拟环境,也可以上传到PyPI,这样非常方便大项目开发...setuptools使用 pip 安装: $ pip install setuptools 第一个安装文件 在目录 learn\_setup 下新建安装文件 setup.py,然后创建 myapp...的名称为 setup.py 定义的 name, version以及指定的格式,格式如:firstApp01-0.0.1.tar.gz。

    1.2K20

    Python打包系统简单入门

    其实文档就可以看出来,distutils毕竟时间比较早,有些接口设计的不太合理甚至有些反人类,setuptools的文档就简单多了。...,setuptools可以自动搜索__init__.py文件来找到 packages=find_packages(exclude=('tests',)), # 如果项目中包含任何不在的单文件模块...package_data指定包括在的数据文件,也就是“数据文件”,这些文件会复制到的相应目录。...package_data={ 'package_name': ['package_data.dat'], }, data_files指定放在外的数据文件,这些文件会被复制到项目根目录下指定的相对目录...特别的,如果只希望安装项目本身而不安装所有依赖,用下面的命令: pip install -e . --no-deps 如果有需要的话,还可以安装VCS或者本地目录中保存的来替代官方索引

    98430

    λ演算到函数式编程聊闭(1):闭概念在JavaPHPJS形式

    什么是闭 如果让谷哥找一下“闭”这个词,会发现网上关于闭的文章已经不计其数 维基百科上对闭的解释就很经典: 在计算机科学,闭(Closure)是词法闭(Lexical Closure)的简称...抽象代数的闭 在离散数学(具体的说是抽象代数)里,如果对一个集合的每个元素执行某个运算操作,得到的结果还是这个集合的元素,那么就说该集合在这个运算操作下构成闭。...关于这方面的内容,推荐阅读:《闭漫谈(抽象代数及函数式编程角度)》 程序语言的闭性质 继续上面的scheme程序,我们已经定义了函数f:(define (f x) (lambda (y) (+ x...下篇讲解JS闭:《抽象代数漫游函数式编程(2):话说JavaScript闭》 参考文章: 闭漫谈(抽象代数及函数式编程角度)http://www.codinglabs.org/html/closure-perspective-of-abstract-mathematic-and-functional-language.html.../java/javaBase/7967.html 转载本站文章《λ演算到函数式编程聊闭(1):闭概念在Java/PHP/JS形式》, 请注明出处:https://www.zhoulujun.cn

    84310

    python之模块和

    文件 .egg文件,由setuptools库创建的,第三方常用的格式,添加了元数据(版本号,依赖项等)信息的zip文件 ---- 路径顺序为 程序主目录,程序运行的主程序脚本所在的目录...执行结果来看,不会产生重复导入的现象 所有加载的模块都会记录在sys.modules。...pycharm ,创建Directory和创建python package 不同,前者是创建普通的目录,后者是创建一个带有_init_.py文件目录,及 3 子模块 目录下的py文件,子目录都是其子模块...: 1 能够更好的组织模块,尤其是大规模代码很多,可以拆分成很多子模块,便于使用某些功能就加载相应的子目录 ---- 目录_init_.py是包在第一次导入时就执行的,内容可以为空,也可以是用于该的初始化工作的代码...from导入模块,模块名称最前面不是以.开头的 绝对导入总是去搜索模块搜索路径找 ---- 相对导入 只能在内使用,且只能用在from语句中 使用.点号,表示当前目录内 ..表示上一级目录

    1.4K10

    Python之包管理工具快速入门

    在Python环境已经有很多成熟的,可以通过安装这些来扩展我们的程序。 例如,很多时候Python开发人员都会去PyPI网站去查找自己想要使用的,然后进行安装。...在安装Python的过程,经常涉及到distutils、setuptools、distribute、setup.py、easy_install、easy_install和pip等等。...wilber@sh.com', url='http://www.cnblogs.com/wilber2013/', py_modules=['foo', 'bar'], ) 然后,在该目录运行...但现在,distribute 又合并回了 setuptools ,所以可以认为它们是同一个东西。...PyPI上安装一个:当使用 easy_install package 命令后,easy_install 可以自动 PyPI 上下载相关的,并完成安装,升级 2.下载一个安装:通过 easy_install

    72530
    领券