아나콘다 저장소

아나콘다 저장소

다른 서버의 yum 저장소로 사용하는 rhel 서버가 있습니다. 이제 Python 패키지도 제공해야 합니다. 패키지를 다운로드할 아나콘다 저장소를 찾았습니다.https://repo.continuum.io/pkgs/main/linux-64/다음 명령을 사용하여 모든 패키지를 다운로드합니다.

wget -A bz2  https://repo.continuum.io/pkgs/main/linux-64/ -P /path_for_packages

모든 패키지가 tar.bz2 형식이기 때문에 -A bz2를 사용합니다.

또한 인터넷에 연결할 수 없지만 리포지토리 서버와 통신할 수 있는 클라이언트 컴퓨터가 있습니다.

목적은 서버 시스템에서 클라이언트 시스템으로 소프트웨어 패키지를 설치/다운로드하는 것입니다.

두 서버 모두에 anaconda 4.5.11이 있습니다. 또한 클라이언트 컴퓨터의 ".condarc" 파일에 채널(클라이언트가 패키지를 찾는 경로)을 지정했습니다.

# This is a sample .condarc file.
# It adds the r Anaconda.org channel and enables
# the show_channel_urls option.

# channel locations. These override conda defaults, i.e., conda will
# search *only* the channels listed here, in the order given.
# Use "defaults" to automatically include all default channels.
# Non-url channels will be interpreted as Anaconda.org usernames
# (this can be changed by modifying the channel_alias key; see below).
# The default is just 'defaults'.
channels:
  - http://<IP_ADDRESS>/Path/To/Packages


# Show channel URLs when displaying what is going to be downloaded
# and in 'conda list'. The default is False.
show_channel_urls: True

# For more information about this file see:
# https://conda.io/docs/user-guide/configuration/use-condarc.html

위 명령을 사용하여 클라이언트 컴퓨터에서 패키지를 설치하려고 하면 다음과 같습니다.

conda install wget


Solving environment: failed

# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

    Traceback (most recent call last):
      File "/root/anaconda3/lib/python3.7/site-packages/conda/core/subdir_data.py", line 227, in _load
        mod_etag_headers.get('_mod'))
      File "/root/anaconda3/lib/python3.7/site-packages/conda/core/subdir_data.py", line 574, in fetch_repodata_remote_request
        raise Response304ContentUnchanged()
    conda.core.subdir_data.Response304ContentUnchanged

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/root/anaconda3/lib/python3.7/site-packages/conda/exceptions.py", line 819, in __call__
        return func(*args, **kwargs)
      File "/root/anaconda3/lib/python3.7/site-packages/conda/cli/main.py", line 78, in _main
        exit_code = do_call(args, p)
      File "/root/anaconda3/lib/python3.7/site-packages/conda/cli/conda_argparse.py", line 77, in do_call
        exit_code = getattr(module, func_name)(args, parser)
      File "/root/anaconda3/lib/python3.7/site-packages/conda/cli/main_install.py", line 11, in execute
        install(args, parser, 'install')
      File "/root/anaconda3/lib/python3.7/site-packages/conda/cli/install.py", line 235, in install
        force_reinstall=context.force,
      File "/root/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 518, in solve_for_transaction
        force_remove, force_reinstall)
      File "/root/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 451, in solve_for_diff
        final_precs = self.solve_final_state(deps_modifier, prune, ignore_pinned, force_remove)
      File "/root/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 180, in solve_final_state
        index, r = self._prepare(prepared_specs)
      File "/root/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 592, in _prepare
        self.subdirs, prepared_specs)
      File "/root/anaconda3/lib/python3.7/site-packages/conda/core/index.py", line 215, in get_reduced_index
        new_records = query_all(spec)
      File "/root/anaconda3/lib/python3.7/site-packages/conda/core/index.py", line 184, in query_all
        return tuple(concat(future.result() for future in as_completed(futures)))
      File "/root/anaconda3/lib/python3.7/site-packages/conda/core/subdir_data.py", line 95, in query
        self.load()
      File "/root/anaconda3/lib/python3.7/site-packages/conda/core/subdir_data.py", line 149, in load
        _internal_state = self._load()
      File "/root/anaconda3/lib/python3.7/site-packages/conda/core/subdir_data.py", line 233, in _load
        mod_etag_headers.get('_mod'))
      File "/root/anaconda3/lib/python3.7/site-packages/conda/core/subdir_data.py", line 280, in _read_local_repdata
        _internal_state = self._process_raw_repodata_str(raw_repodata_str)
      File "/root/anaconda3/lib/python3.7/site-packages/conda/core/subdir_data.py", line 320, in _process_raw_repodata_str
        assert subdir == self.channel.subdir
    AssertionError

`$ /root/anaconda3/bin/conda install wget`

  environment variables:
                 CIO_TEST=<not set>
        CONDA_DEFAULT_ENV=base
                CONDA_EXE=/root/anaconda3/bin/conda
             CONDA_PREFIX=/root/anaconda3
    CONDA_PROMPT_MODIFIER=
         CONDA_PYTHON_EXE=/root/anaconda3/bin/python
               CONDA_ROOT=/root/anaconda3
              CONDA_SHLVL=1
                     PATH=/root/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:
                          /root/bin
       REQUESTS_CA_BUNDLE=<not set>
            SSL_CERT_FILE=<not set>

     active environment : base
    active env location : /root/anaconda3
            shell level : 1
       user config file : /root/.condarc
 populated config files : /root/.condarc
          conda version : 4.5.11
    conda-build version : 3.15.1
         python version : 3.7.0.final.0
       base environment : /root/anaconda3  (writable)
           channel URLs : http://<IP_Address>/Path/To/Packages
                          http://<IP_Address>/Path/To/Packages
          package cache : /root/anaconda3/pkgs
                          /root/.conda/pkgs
       envs directories : /root/anaconda3/envs
                          /root/.conda/envs
               platform : linux-64
             user-agent : conda/4.5.11 requests/2.19.1 CPython/3.7.0 Linux/3.10.0-327.el7.x86_64 rhel/7.2 glibc/2.17
                UID:GID : 0:0
             netrc file : None
           offline mode : False


An unexpected error has occurred. Conda has prepared the above report.
If submitted, this report will be used by core maintainers to improve
future releases of conda.
Would you like conda to send this report to the core maintainers?
[y/N]: n

No report sent. To permanently opt-out, use

    $ conda config --set report_errors false

내가 시도한 것:

https://github.com/conda/conda/issues/7524

또한 아나콘다 버전을 "4.3.30"으로 다운그레이드해 보았습니다. 이 버전에서는 다음과 같은 새로운 오류가 발생했습니다.

conda install anaconda
Fetching package metadata .....

CondaEnvironmentNotFoundError: Could not find environment: /root/anaconda3/envs/base .
You can list all discoverable environments with `conda info --envs`.

이 오류는 repo 서버에 다음과 같은 환경이 없음을 나타냅니다.

http://<IP_Address>/Path/To/Packages

여기에 원격 환경을 추가하는 것이 가능한지 모르겠습니다. 환경을 추가하는 방법은 다음과 같습니다.

 conda  --set custom_channels.my-conda-channel http://<IP_Address>/Path/To/Package

하지만 추측한 대로 로컬 경로만 추가할 수 있습니다.

답변1

Anaconda 버전에 문제가 있습니다. 최신 버전에서는 Windows 시스템이 원격 저장소에서 필요한 패키지를 설치할 수 없습니다. 이 문제를 해결하려면 anaconda3-5.0.1 설치 프로그램 exe를 다운로드해야 합니다.

관련 정보