jai*_*ib1 7 python software-distribution package anaconda conda-forge
我正在尝试让 conda-forge 托管我创建的 python 包,该包已经在 PyPI 上:https: //pypi.org/project/ludoSim-jaib1/
我在这里阅读了有关贡献包的 conda-forge 文档,以及有关通过meta.yaml配方文件定义元数据的 conda 文档。
我向conda-forge/staged-recipes存储库提交的拉取请求在这里。我的meta.yaml文件可以在该拉取请求中找到,但我也会在此处以文本形式发布它:
{% set name = "ludoSim-jaib1" %}
{% set version = "0.0.1" %}
package:
name: {{ name|lower }}
version: {{ version }}
source:
url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
sha256: 3342abcd52a6a18e1d4b0e2e626c051f24133187647c6618c0f81d7add28d543
build:
number: 0
script: python -m pip install . --no-deps -vv
skip: true # [py<30]
requirements:
host:
- python
- pip
run:
- python
test:
source_files:
tests/test_ludo.py
tests/runTest.py
imports:
- ludoSim
- pytest
about:
home: http://github.com/jaib1/ludoSim
license: GPL-3.0
license_family: GPL
license_file: LICENSE.md
summary: A simple ludo simulator
description: See the package README.md for more information.
extra:
recipe-maintainers:
- jaib1
Run Code Online (Sandbox Code Playgroud)
我认为我在配方中一定有一些简单的地方做错了meta.yaml,但由于这是我第一次向 conda-forge 提交包,我不确定到底是什么。test在阅读文档时,我对配方文件中的部分感到困惑:我不完全理解该test部分中的信息如何用于运行构建测试:对于我的包,我想运行我的包中存在的测试脚本package,依赖于 pytest 包,并且需要在我的包所在位置的父目录中运行。
我可以了解如何修复我的meta.yaml配方文件以及如何test针对我的场景对该文件中的部分进行建模吗?
以下文档是我在下面重复的所有内容的规范参考:
https://docs.conda.io/projects/conda-build/en/stable/resources/define-metadata.html#test-section
创建 conda 配方时,有(据我所知)三种方法来定义将执行的测试:
run_test.[py,pl,sh,bat](这是由conda-buildtest/imports测试python模块是否可以导入test/commands来运行任意 shell 命令这些可以通过source_files、requires和许多其他键来补充,以正确格式化测试环境。我认为,鉴于您的问题描述:
对于我的包,我想运行一个测试脚本,该脚本存在于我的包中,依赖于 pytest 包,并且需要在我的包所在位置的父目录中运行
你可能想要这样的东西:
test:
imports:
- ludoSim
source_files:
- tests/test_ludo.py
- tests/runTest.py
requires:
- pytest
commands:
- pytest tests/
Run Code Online (Sandbox Code Playgroud)
这应该将给定的source_files源文件夹复制到测试目录中,然后安装pytest,然后运行pytest tests/。我不确定我是否正确解释了您的目录要求,但您test/commands可以包含任意数量的呼叫pushd或类似的移动到您需要的位置。
| 归档时间: |
|
| 查看次数: |
6102 次 |
| 最近记录: |