docker容器内部的Conda构建失败

docker容器内部的Conda构建失败,docker,anaconda,dockerfile,conda,miniconda,Docker,Anaconda,Dockerfile,Conda,Miniconda,我试图将我的anaconda包构建系统与Codeship CI/CD服务集成,因此我需要在Docker容器中进行构建过程。 当前我的Dockerfile看起来是这样的: FROM continuumio/miniconda3 COPY . . RUN conda create --yes --name build-env python=3.8 \ && conda install -n build-env conda-build -y \ &&

我试图将我的anaconda包构建系统与Codeship CI/CD服务集成,因此我需要在Docker容器中进行构建过程。 当前我的Dockerfile看起来是这样的:


FROM continuumio/miniconda3

COPY . .
RUN conda create --yes --name build-env python=3.8 \
    && conda install -n build-env conda-build -y \
    && conda run -n build-env conda-build --channel haasad .

RUN conda create --yes --name testing-env python=3.8 \
    && conda install -n testing-env --use-local sten -c haasad \
    && conda install -n testing-env -c anaconda pytest

生成运行时,会发生以下错误:

/opt/conda/envs/build-env/conda-bld/chardet_1591782226225/work/conda_build.sh: line 4: /tmp/build/80754af9/chardet_1573033772973/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/python: No such file or directory
Traceback (most recent call last):
  File "/opt/conda/envs/build-env/bin/conda-build", line 11, in <module>
    sys.exit(main())
  File "/opt/conda/envs/build-env/lib/python3.8/site-packages/conda_build/cli/main_build.py", line 469, in main
    execute(sys.argv[1:])
  File "/opt/conda/envs/build-env/lib/python3.8/site-packages/conda_build/cli/main_build.py", line 458, in execute
    outputs = api.build(args.recipe, post=args.post, build_only=args.build_only,
  File "/opt/conda/envs/build-env/lib/python3.8/site-packages/conda_build/api.py", line 208, in build
    return build_tree(absolute_recipes, config, stats, build_only=build_only, post=post,
  File "/opt/conda/envs/build-env/lib/python3.8/site-packages/conda_build/build.py", line 2339, in build_tree
    packages_from_this = build(metadata, stats,
  File "/opt/conda/envs/build-env/lib/python3.8/site-packages/conda_build/build.py", line 1491, in build
    utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env,
  File "/opt/conda/envs/build-env/lib/python3.8/site-packages/conda_build/utils.py", line 398, in check_call_env
    return _func_defaulting_env_to_os_environ('call', *popenargs, **kwargs)
  File "/opt/conda/envs/build-env/lib/python3.8/site-packages/conda_build/utils.py", line 378, in _func_defaulting_env_to_os_environ
    raise subprocess.CalledProcessError(proc.returncode, _args)
subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/conda/envs/build-env/conda-bld/chardet_1591782226225/work/conda_build.sh']' returned non-zero exit status 127.
/opt/conda/envs/build env/conda bld/chardet_1591782226225/work/conda_build.sh:第4行:/tmp/build/80754af9/chardet_157303772973/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold
回溯(最近一次呼叫最后一次):
文件“/opt/conda/envs/build env/bin/conda build”,第11行,在
sys.exit(main())
文件“/opt/conda/envs/build env/lib/python3.8/site packages/conda_build/cli/main_build.py”,第469行,在main中
执行(sys.argv[1:])
文件“/opt/conda/envs/build env/lib/python3.8/site packages/conda_build/cli/main_build.py”,执行中的第458行
输出=api.build(args.recipe,post=args.post,build\u only=args.build\u only,
文件“/opt/conda/envs/build env/lib/python3.8/site packages/conda_build/api.py”,第208行,内部版本
返回build_tree(绝对配方、配置、统计、build_only=build_only、post=post、,
文件“/opt/conda/envs/build env/lib/python3.8/site packages/conda_build/build.py”,第2339行,在build_树中
从构建(元数据、统计数据、,
文件“/opt/conda/envs/build env/lib/python3.8/site packages/conda_build/build.py”,第1491行,内部版本
utils.check_call_env(cmd,env=env,rewrite_stdout_env=rewrite_env,
文件“/opt/conda/envs/build env/lib/python3.8/site packages/conda\u build/utils.py”,第398行,在check\u call\u env中
返回_func_defaulting_env_to_os_environ('call',*popenargs,**kwargs)
文件“/opt/conda/envs/build env/lib/python3.8/site packages/conda_build/utils.py”,第378行,默认环境为
raise SUBSPROCESS.CalledProcessError(proc.returncode,_args)
subprocess.CalledProcessError:命令“['/bin/bash'、'-o'、'errexit'、'/opt/conda/envs/build env/conda bld/chardet_1591782226225/work/conda_build.sh']”返回非零退出状态127。


如何解决这个问题以及我做错了什么?

当您指定
python=3.7
时,它是否有效?我对python=3.7有类似的问题