微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何手动运行由 conda-build 运行的测试?

如何解决如何手动运行由 conda-build 运行的测试?

conda-build 的“配方”可以指定运行测试。基本测试导入刚刚构建的包。这个测试对我来说失败了,但是当我尝试手动运行它时,一切正常......

在我的Meta.yaml中:

test:
  imports:
    - foo

这就是构建失败的原因:

export PREFIX=/home/wvxvw/anaconda3/conda-bld/foo_1624876704722/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol
export SRC_DIR=/home/wvxvw/anaconda3/conda-bld/foo_1624876704722/test_tmp
Traceback (most recent call last):
  File "/home/wvxvw/anaconda3/conda-bld/foo_1624876704722/test_tmp/run_test.py",line 2,in <module>
    import foo
ModuleNotFoundError: No module named 'foo'
import: 'foo'
Tests Failed for foo-0.1.1-py38hd844fa7_0.tar.bz2 - moving package to /home/wvxvw/anaconda3/conda-bld/broken

如果我这样做:

conda create --name test-foo python=x.x
conda activate test-foo
conda install --offline /home/wvxvw/anaconda3/conda-bld/broken/foo-0.1.1-py38hd844fa7_0.tar.bz2
python
import sys
sys.path = sys.path[1:]  # to make sure current directory isn't on the path
import foo
foo.__spec__
# Prints: ModuleSpec(name='foo',loader=<_frozen_importlib_external.ExtensionFileLoader object at 0x7f17428519a0>,origin='/home/wvxvw/anaconda3/envs/test-foo/lib/python3.8/site-packages/foo.cpython-38-x86_64-linux-gnu.so')

所以,它就在那里,一切都很好。包构建正确...为什么 conda-build 无法导入它?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。