繁体   English   中英

conda build: ResolvePackageNotFound 取决于机器

[英]conda build: ResolvePackageNotFound depending on machine

我正在构建一个自定义 conda 包,它依赖于来自自定义频道的其他四个包。 当我尝试conda build . 在机器 A 上,这些包被报告为不可满足(见下文)。 在机器 B 上,具有相同的提交, conda build工作。

我将工作构建环境从机器 B 克隆到机器 A,但没有成功。

自定义频道位于网络目录中。 从中安装有问题的软件包可以在两台机器上运行。 出于某种原因,在机器 A 上conda build似乎无法访问。

(底部) conda build在机器 A 上的错误消息:

Traceback (most recent call last):
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda_build\environ.py", line 799, in get_install_actions
    actions = install_actions(prefix, index, specs, force=True)
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda\common\io.py", line 88, in decorated
    return f(*args, **kwds)
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda\plan.py", line 474, in install_actions
    txn = solver.solve_for_transaction(prune=prune, ignore_pinned=not pinned)
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda\core\solve.py", line 114, in solve_for_transaction
    unlink_precs, link_precs = self.solve_for_diff(update_modifier, deps_modifier,
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda\core\solve.py", line 157, in solve_for_diff
    final_precs = self.solve_final_state(update_modifier, deps_modifier, prune, ignore_pinned,
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda\core\solve.py", line 275, in solve_final_state
    ssc = self._add_specs(ssc)
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda\core\solve.py", line 565, in _add_specs
    explicit_pool = ssc.r._get_package_pool(self.specs_to_add)
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda\resolve.py", line 555, in _get_package_pool
    pool = self.get_reduced_index(specs)
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda\common\io.py", line 88, in decorated
    return f(*args, **kwds)
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda\resolve.py", line 576, in get_reduced_index
    explicit_specs, features = self.verify_specs(explicit_specs)
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda\resolve.py", line 288, in verify_specs
    raise ResolvePackageNotFound(bad_deps)
conda.exceptions.ResolvePackageNotFound:
- customA=4.7.0
- customB=0.2.1
- customC=0.5.0
- customD=10.4.3

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\ProgramData\Miniconda3\envs\build2\Scripts\conda-build-script.py", line 10, in <module>
    sys.exit(main())
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda_build\cli\main_build.py", line 488, in main
    execute(sys.argv[1:])
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda_build\cli\main_build.py", line 477, in execute
    outputs = api.build(args.recipe, post=args.post, test_run_post=args.test_run_post,
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda_build\api.py", line 186, in build
    return build_tree(
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda_build\build.py", line 3088, in build_tree
    packages_from_this = build(metadata, stats,
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda_build\build.py", line 2128, in build
    create_build_envs(top_level_pkg, notest)
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda_build\build.py", line 2006, in create_build_envs
    raise e
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda_build\build.py", line 1985, in create_build_envs
    environ.get_install_actions(m.config.test_prefix,
File "C:\ProgramData\Miniconda3\envs\build2\lib\site-packages\conda_build\environ.py", line 801, in get_install_actions
    raise DependencyNeedsBuildingError(exc, subdir=subdir)
conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform win-64: {'customB=0.2.1', 'customC=0.5.0', 'customD=10.4.3', 'customA=4.7.0'}

conda 配置(机器 B):

add_anaconda_token: True
add_pip_as_python_dependency: True
aggressive_update_packages:
- ca-certificates
- certifi
- openssl
allow_conda_downgrades: False
allow_cycles: True
allow_non_channel_urls: False
allow_softlinks: False
always_copy: False
always_softlink: False
always_yes: None
anaconda_upload: None
auto_activate_base: True
auto_stack: 0
auto_update_conda: True
bld_path: 
changeps1: True
channel_alias: https://conda.anaconda.org
channel_priority: flexible
channels:
- open3d-admin
- file:////custom/channel
- conda-forge
- defaults
client_ssl_cert: None
client_ssl_cert_key: None
clobber: False
conda_build: {}
create_default_packages: []
croot: C:\ProgramData\Miniconda3\conda-bld
custom_channels:
pkgs/main: https://repo.anaconda.com
pkgs/r: https://repo.anaconda.com
pkgs/msys2: https://repo.anaconda.com
pkgs/pro: https://repo.anaconda.com
custom_multichannels:
defaults: 
    - https://repo.anaconda.com/pkgs/main
    - https://repo.anaconda.com/pkgs/r
    - https://repo.anaconda.com/pkgs/msys2
local: 
debug: False
default_channels:
- https://repo.anaconda.com/pkgs/main
- https://repo.anaconda.com/pkgs/r
- https://repo.anaconda.com/pkgs/msys2
default_python: 3.8
default_threads: None
deps_modifier: not_set
dev: False
disallowed_packages: []
download_only: False
dry_run: False
enable_private_envs: False
env_prompt: ({default_env}) 
envs_dirs:
- C:\ProgramData\Miniconda3\envs
- C:\Users\JPoppinga\.conda\envs
- C:\Users\JPoppinga\AppData\Local\conda\conda\envs
error_upload_url: https://conda.io/conda-post/unexpected-error
execute_threads: 1
experimental_solver: classic
extra_safety_checks: False
force: False
force_32bit: False
force_reinstall: False
force_remove: False
ignore_pinned: False
json: False
local_repodata_ttl: 1
migrated_channel_aliases: []
migrated_custom_channels: {}
non_admin_enabled: True
notify_outdated_conda: True
offline: False
override_channels_enabled: True
path_conflict: clobber
pinned_packages: []
pip_interop_enabled: False
pkgs_dirs:
- C:\ProgramData\Miniconda3\pkgs
- C:\Users\JPoppinga\.conda\pkgs
- C:\Users\JPoppinga\AppData\Local\conda\conda\pkgs
proxy_servers: {}
quiet: False
remote_backoff_factor: 1
remote_connect_timeout_secs: 9.15
remote_max_retries: 3
remote_read_timeout_secs: 60.0
repodata_fns:
- current_repodata.json
- repodata.json
repodata_threads: None
report_errors: None
restore_free_channel: False
rollback_enabled: True
root_prefix: C:\ProgramData\Miniconda3
safety_checks: warn
sat_solver: pycosat
separate_format_cache: False
shortcuts: True
show_channel_urls: None
signing_metadata_url_base: None
solver_ignore_timestamps: False
ssl_verify: True
subdir: win-64
subdirs:
- win-64
- noarch
target_prefix_override: 
track_features: []
unsatisfiable_hints: True
unsatisfiable_hints_check_depth: 2
update_modifier: update_specs
use_index_cache: False
use_local: False
use_only_tar_bz2: False
verbosity: 0
verify_threads: 1
whitelist_channels: []

conda 配置机器 A,与机器 B 不同:

49c49
< default_python: 3.7
---
> default_python: 3.8
60,61c60,61
<   - H:\.conda\envs
<   - C:\Users\jpoppinga\AppData\Local\conda\conda\envs
---
>   - C:\Users\JPoppinga\.conda\envs
>   - C:\Users\JPoppinga\AppData\Local\conda\conda\envs
84,85c84,85
<   - H:\.conda\pkgs
<   - C:\Users\jpoppinga\AppData\Local\conda\conda\pkgs
---
>   - C:\Users\JPoppinga\.conda\pkgs
>   - C:\Users\JPoppinga\AppData\Local\conda\conda\pkgs

康达信息机器B:

    active environment : build
    active env location : C:\ProgramData\Miniconda3\envs\build
            shell level : 2
      user config file : C:\Users\JPoppinga\.condarc
populated config files : C:\Users\JPoppinga\.condarc
          conda version : 4.13.0
    conda-build version : not installed
        python version : 3.8.8.final.0
      virtual packages : __win=0=0
                          __archspec=1=x86_64
      base environment : C:\ProgramData\Miniconda3  (writable)
      conda av data dir : C:\ProgramData\Miniconda3\etc\conda
  conda av metadata url : None
          channel URLs : https://conda.anaconda.org/open3d-admin/win-64
                          https://conda.anaconda.org/open3d-admin/noarch
                          file://custom/channel
                          file://custom/channel
                          https://conda.anaconda.org/conda-forge/win-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/win-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/win-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-64
                          https://repo.anaconda.com/pkgs/msys2/noarch
          package cache : C:\ProgramData\Miniconda3\pkgs
                          C:\Users\JPoppinga\.conda\pkgs
                          C:\Users\JPoppinga\AppData\Local\conda\conda\pkgs
      envs directories : C:\ProgramData\Miniconda3\envs
                          C:\Users\JPoppinga\.conda\envs
                          C:\Users\JPoppinga\AppData\Local\conda\conda\envs
              platform : win-64
            user-agent : conda/4.13.0 requests/2.27.1 CPython/3.8.8 Windows/10 Windows/10.0.19041
          administrator : False
            netrc file : None
          offline mode : False

机器 A 的 conda 信息与机器 B 不同:

2,3c2,3
<      active environment : build2
<     active env location : C:\ProgramData\Miniconda3\envs\build2
---
>      active environment : build
>     active env location : C:\ProgramData\Miniconda3\envs\build
5,6c5,6
<        user config file : H:\.condarc
<  populated config files : H:\.condarc
---
>        user config file : C:\Users\JPoppinga\.condarc
>  populated config files : C:\Users\JPoppinga\.condarc
9c9
<          python version : 3.7.4.final.0
---
>          python version : 3.8.8.final.0
28,29c28,29
<                           H:\.conda\pkgs
<                           C:\Users\jpoppinga\AppData\Local\conda\conda\pkgs
---
>                           C:\Users\JPoppinga\.conda\pkgs
>                           C:\Users\JPoppinga\AppData\Local\conda\conda\pkgs
31,32c31,32
<                           H:\.conda\envs
<                           C:\Users\jpoppinga\AppData\Local\conda\conda\envs
---
>                           C:\Users\JPoppinga\.conda\envs
>                           C:\Users\JPoppinga\AppData\Local\conda\conda\envs
34c34
<              user-agent : conda/4.13.0 requests/2.28.1 CPython/3.7.4 Windows/10 Windows/10.0.19041
---
>              user-agent : conda/4.13.0 requests/2.27.1 CPython/3.8.8 Windows/10 Windows/10.0.19041

编辑:我发现如果我使用conda build -c file:////custom/channel . . 我仍然不明白为什么这应该是必要的,因为通道显示在conda configconda env exportconda info中。 我尝试使用conda config --remove channels file:////custom/channel删除它并使用conda config --add channels file:////custom/channel channel 重新添加它,但是简单的conda build . 仍然失败。

我发现了问题所在。 这与我雇主的网络设置有关。 我们通常使用 VPN,在该 VPN 中,用户主目录(即$HOME环境变量)设置为网络驱动器H: 前几天,我无法连接到 VPN。 这意味着 a) 用户主目录是标准C:\Users\<Username>并且 b) 我无法连接到自定义 conda 通道。 事实上,我无法用 conda 做任何事情,因为它总是会出错,因为该通道无法访问。 所以我通过conda config删除了它,它从C:\Users\<Username>\.condarc了。 然后我记得重新启动修复了 VPN 问题并重新启动。 当计算机备份并在 VPN 中时,我不确定我是否真的删除了通道(或者我是否在开始之前记住了解决方案),所以我通过conda config进行了检查。 只是现在,它引用了H:\.condarc ,它仍然有通道。 所以我只是继续正常工作,期待 conda build 仍然有效。

但是,结果是conda install仍然可以访问自定义通道的设置(它必须使用$HOME环境变量来查找.condarc )而 conda conda build不能(它必须直接使用C:\users\<Username> )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM