0

我有以下 build.sh 并想通过简单地将 $RECIPE_DIR 复制到 $CONDA_PREFIX/... 来安装我的 python 包

#!/bin/sh

# Variables
# package_name="filip_test_package"
dir_in_conda=$CONDA_PREFIX/lib/python3.8/site-packages/$PKG_NAME

# Install
echo "Installing"
echo $CONDA_PREFIX
echo $RECIPE_DIR
echo $PKG_NAME

mkdir $dir_in_conda
cp -RT $RECIPE_DIR/$PKG_NAME $dir_in_conda

但是,在执行期间,我得到了以下堆栈跟踪。似乎 $CONDA_PREFIX 被替换为 $BUILD_PREFIX 但我不知道为什么。我需要在我的 meta.yaml 中设置一些东西吗?

Collecting package metadata (repodata.json): ...working... done
Solving environment: ...working... done
source tree in: /home/filip/Dokumente/Programming/build_python_package/conda-build/filip_test_package_1617799915931/work
export PREFIX=/home/filip/Dokumente/Programming/build_python_package/conda-build/filip_test_package_1617799915931/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol
export BUILD_PREFIX=/home/filip/Dokumente/Programming/build_python_package/conda-build/filip_test_package_1617799915931/_build_env
export SRC_DIR=/home/filip/Dokumente/Programming/build_python_package/conda-build/filip_test_package_1617799915931/work
Installing
$BUILD_PREFIX
/home/filip/Dokumente/Programming/build_python_package/python_project
filip_test_package
mkdir: cannot create directory ‘/home/filip/Dokumente/Programming/build_python_package/conda-build/filip_test_package_1617799915931/_build_env/lib/python3.8/site-packages/filip_test_package’: No such file or directory
Traceback (most recent call last):
  File "/opt/anaconda3/envs/test_env/bin/conda-build", line 11, in <module>
    sys.exit(main())
  File "/opt/anaconda3/envs/test_env/lib/python3.8/site-packages/conda_build/cli/main_build.py", line 481, in main
    execute(sys.argv[1:])
  File "/opt/anaconda3/envs/test_env/lib/python3.8/site-packages/conda_build/cli/main_build.py", line 470, in execute
    outputs = api.build(args.recipe, post=args.post, test_run_post=args.test_run_post,
  File "/opt/anaconda3/envs/test_env/lib/python3.8/site-packages/conda_build/api.py", line 186, in build
    return build_tree(
  File "/opt/anaconda3/envs/test_env/lib/python3.8/site-packages/conda_build/build.py", line 3068, in build_tree
    packages_from_this = build(metadata, stats,
  File "/opt/anaconda3/envs/test_env/lib/python3.8/site-packages/conda_build/build.py", line 2191, in build
    utils.check_call_env(cmd, env=env, rewrite_stdout_env=rewrite_env,
  File "/opt/anaconda3/envs/test_env/lib/python3.8/site-packages/conda_build/utils.py", line 412, in check_call_env
    return _func_defaulting_env_to_os_environ('call', *popenargs, **kwargs)
  File "/opt/anaconda3/envs/test_env/lib/python3.8/site-packages/conda_build/utils.py", line 392, in _func_defaulting_env_to_os_environ
    raise subprocess.CalledProcessError(proc.returncode, _args)
subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/home/filip/Dokumente/Programming/build_python_package/conda-build/filip_test_package_1617799915931/work/conda_build.sh']' returned non-zero exit status 1.
4

1 回答 1

1

我有完全相同的问题。安装 anaconda 而不是 miniconda 解决了我的问题。请注意,重新安装干净的 miniconda 并没有解决它。

于 2021-12-31T11:07:17.333 回答