Python 如何添加适当的';meta.yaml';创建conda forge软件包分发版的配方文件?特别是配方文件中的“测试”部分?

Python 如何添加适当的';meta.yaml';创建conda forge软件包分发版的配方文件?特别是配方文件中的“测试”部分?,python,package,anaconda,software-distribution,conda-forge,Python,Package,Anaconda,Software Distribution,Conda Forge,我正在尝试让conda forge托管我创建的python包,该包已经在PyPI上: 我已经阅读了关于贡献包的conda forge文档和关于通过meta.yamlrecipe文件定义元数据的conda文档 我向conda forge/staged recipesrepo提交的拉取请求为。我的meta.yaml文件可以在该pull请求中找到,但我也将在这里以文本形式发布它: {% set name = "ludoSim-jaib1" %} {% set version = "0.0.1" %}

我正在尝试让conda forge托管我创建的python包,该包已经在PyPI上:

我已经阅读了关于贡献包的conda forge文档和关于通过
meta.yaml
recipe文件定义元数据的conda文档

我向
conda forge/staged recipes
repo提交的拉取请求为。我的
meta.yaml
文件可以在该pull请求中找到,但我也将在这里以文本形式发布它:

{% 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
{%set name=“ludoSim-jaib1”%}
{%set version=“0.0.1”%}
包裹:
名称:{{name | lower}}
版本:{{version}
资料来源:
网址:https://pypi.io/packages/source/{{name[0]}/{{name}/{{name}-{{version}}.tar.gz
sha256:3342abcd52a6a18e1d4b0e2e626c051f24133187647c6618c0f81d7add28d543
建造:
编号:0
脚本:python-mpip安装--无deps-vv

skip:true#[py以下文档是我在下面重复的所有内容的规范参考:

创建conda配方时,有(AFAIK)三种方法来定义将执行的测试:

  • 在配方目录中创建
    run\u test.[py,pl,sh,bat]
    (这由
    conda build自动发现
  • 包括
    test/imports
    以测试是否可以导入python模块
  • 包括
    test/commands
    以运行任意shell命令
这些可以通过
源文件
要求
,以及其他一些键来补充,以正确设置测试环境的格式。我认为,根据您的问题描述:

对于我的包,我希望运行一个测试脚本,该脚本存在于我的包中,依赖于pytest包,并且需要在包所在位置的父目录中运行

你可能想要这样的东西:

test:
  imports:
    - ludoSim
  source_files:
    - tests/test_ludo.py
    - tests/runTest.py
  requires:
    - pytest
  commands:
    - pytest tests/
这应该将给定的
源文件
从源文件夹复制到测试目录中,然后安装
pytest
,然后运行
pytest/
。我不确定是否正确解释了您的目录要求,但您的
test/命令
可以包含对
pushd
或类似命令的任意数量的调用o移动到你需要的地方