setuptools助手函数

setuphelpers的Python项目详细描述


设置帮助程序

编写setup.py的助手函数。

Build StatusCoverage StatusVersionDownload formatDownloads this monthDevelopment StatusLicense

帮助函数

setuphelpers提供以下功能:

git_version

用于从Git提供包的版本字符串。如果最新的 提交已标记,版本将是该标记。如果没有标记,它 将是最后一个版本+1个次要/修补程序版本。devn提交数 从上次标记开始。如果从主分支以外的分支构建,则该分支 名称用作本地版本标识符。

示例:0.0.10.0.2.dev10.0.2.dev1+featureX

fromsetuptoolsimportsetupfromsetuphelpersimportgit_versionsetup(name="my_thing",version=git_version())

注意,您不能使用git_version部署sdist包,到期 需要访问.git。但请不要开始包括 .git在您的包中。你可以用一种模式 git_version写入要包含的文件,但我认为 没有必要这么做,因为它已经包含在书面文件中了 包元数据(wheels>;*)。但如果必须的话:

importosimportiofromsetuptoolsimportsetupfromsetuphelpersimportgit_versionfromsetuphelpersimportfind_version# VER_FILE should not exist in your checked in sourceVER_FILE=os.path.join("my_thing","__version__.py")ifos.path.isfile(VER_FILE):# this should only be run during rebuilding a sdist packageVERSION=find_version(VER_FILE)else:# this should be run only during the actual packagingVERSION=git_version()withio.open(VER_FILE,"w",encoding="utf-8")asopenversion:openversion.write('__version__ = "{}"'.format(VERSION))setup(name="my_thing",version=VERSION)

long_description

用于用 自述文件。如果找不到自述文件,将返回到 安装程序.py。

fromsetuptoolsimportsetupfromsetuphelpersimportlong_descriptionsetup(name="my_thing",version="1.0",long_description=long_description())

find_version

用于在指定的 文件路径。

fromsetuptoolsimportsetupfromsetuphelpersimportfind_versionsetup(name="my_thing",version=find_version("my_thing/__init__.py"))

test_command

用于构建用于运行单元测试的测试命令类 python setup.py test。默认支持py.test,但nose和 单元测试也是可能的。来自test_command的返回可以是 传递给cmdclass

注意,tests_require依赖项仍然需要提供, 包括保险,如果你使用它(加上你需要的任何东西 使用测试)。

fromsetuptoolsimportsetupfromsetuphelpersimporttest_commandsetup(name="my_thing",version="1.0",tests_require=["pytest","pytest-cov"],cmdclass=test_command(cover="my_thing"),)

关于setup_requires

的说明

您可以(也应该)将setuphelpers放入setup_requires 你的setup.py的参数。但你也要小心避免 生成期间的依赖关系问题。要做到这一点,你可以用这个 模式(对于每个/任何使用的函数):

fromsetuptoolsimportsetuptry:fromsetuphelpersimport(find_version,# not used, but for completenessgit_version,long_description,test_command,)exceptImportError:find_version=lambdax:"0.0.0"git_version=lambda:"0.0.0"long_description=lambda:__doc__test_command=lambda**_:{}setup(name="my_thing",version=git_version(),# find_version("my_thing/__init__.py"),description=long_description(),tests_require=["pytest","pytest-cov"],setup_requires=["setuphelpers"],cmdclass=test_command(cover="my_thing"),)

现在python setup.py install应该拉入setuphelpers如果 丢失,并重新执行自身以按预期填充参数。你 需要手动避免ImportErrorNameError 但是,如果缺少 setuphelpers

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

推荐PyPI第三方库


热门话题
virtualbox无法从java移动共享文件夹中的文件   java如何连接Android 4.3.5(GA)的apache HttpClient库?   片段中的java Recyclerview未立即显示警报对话框结果   javac(n,r)计算器程序不工作   java使用BooleanQuery还是编写更多索引?   如何在java中设置y/n循环?   java不兼容的通用通配符捕获   java如何在安卓xml中编写数据绑定时的三元操作条件   java如何使用FileDialog?   java如何创建单元测试来检测是否有人使用错误的编码编辑了文件?   java如何从唯一的字符串生成唯一的int?   java gradletomcatplugin:log4j:WARN找不到记录器的附加程序   java我的动态编程解决方案(Kefa和第一步)在codeforces中有什么问题?   java每天更新两个数据库,使它们都包含相同的有效数据集   java如何检查给定的时间是否在时间限制之间   java在单个json POST上保存父级和子级   java如何获取Solr字段类型