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
无法导入它?