yunho0130 / start-RL

<Do it 강화학습 입문(Getting Started with Deep Reinforcement Learning)> 소스코드 저장소

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

3장 질문

ew-kim opened this issue · comments

commented

3장에 레트로와 유니티 모두 environment.yml을 이용하여 가상환경을 만들 때 오류가 발생합니다
윈도우 10 사용중이고 미설치 오류가 떠서 dependencies에 있던 항목들을 pip 하단으로 이동시켰습니다
먼저 유니티에서는 하단 사진과 같이 이동하였고 수정 후 다시 가상환경을 생성시키려고 하니 이미 있는 환경이라고 나옵니다
image
그래서 conda remove -n rl-unity-agent를 해보니 CondaValueError: no package names supplied,\try "conda remove -h" for more details이라 나옵니다. 따라서 하면 삭제는 되지 않고
usage: conda-script.py remove [-h] [-n ENVIRONMENT | -p PATH] [-c CHANNEL] [--use-local] [--override-channels]
[--repodata-fn REPODATA_FNS] [--all] [--features] [--force-remove] [--no-pin] [-C] [-k]
[--offline] [-d] [--json] [-q] [-v] [-y] [--dev]
[package_name ...]

Remove a list of packages from a specified conda environment.

This command will also remove any package that depends on any of the
specified packages as well---unless a replacement can be found without
that dependency. If you wish to skip this dependency checking and remove
just the requested packages, add the '--force' option. Note however that
this may result in a broken environment, so use this with caution.

Options:

positional arguments:
package_name Package names to remove from the environment.

optional arguments:
-h, --help Show this help message and exit.
--dev Use sys.executable -m conda in wrapper scripts instead of CONDA_EXE. This is mainly for use
during tests where we test new conda source against old Python versions.

Target Environment Specification:
-n ENVIRONMENT, --name ENVIRONMENT
Name of environment.
-p PATH, --prefix PATH
Full path to environment location (i.e. prefix).

Channel Customization:
-c CHANNEL, --channel CHANNEL
Additional channel to search for packages. These are URLs searched in the order they are given
(including local directories using the 'file://' syntax or simply a path like
'/home/conda/mychan' or '../mychan'). Then, the defaults or channels from .condarc are
searched (unless --override-channels is given). You can use 'defaults' to get the default
packages for conda. You can also use any name and the .condarc channel_alias value will be
prepended. The default channel_alias is http://conda.anaconda.org/.
--use-local Use locally built packages. Identical to '-c local'.
--override-channels Do not search default or .condarc channels. Requires --channel.
--repodata-fn REPODATA_FNS
Specify name of repodata on remote server. Conda will try whatever you specify, but will
ultimately fall back to repodata.json if your specs are not satisfiable with what you specify
here. This is used to employ repodata that is reduced in time scope. You may pass this flag
more than once. Leftmost entries are tried first, and the fallback to repodata.json is added
for you automatically.

Solver Mode Modifiers:
--all Remove all packages, i.e., the entire environment.
--features Remove features (instead of packages).
--force-remove, --force
Forces removal of a package without removing packages that depend on it. Using this option
will usually leave your environment in a broken and inconsistent state.
--no-pin Ignore pinned file.

Networking Options:
-C, --use-index-cache
Use cache of channel index files, even if it has expired.
-k, --insecure Allow conda to perform "insecure" SSL connections and transfers. Equivalent to setting
'ssl_verify' to 'false'.
--offline Offline mode. Don't connect to the Internet.

Output, Prompt, and Flow Control Options:
-d, --dry-run Only display what would have been done.
--json Report all output as json. Suitable for using conda programmatically.
-q, --quiet Do not display progress bar.
-v, --verbose Can be used multiple times. Once for INFO, twice for DEBUG, three times for TRACE.
-y, --yes Do not ask for confirmation.

Examples:

conda remove -n myenv scipy

The system cannot find the path specified.
The system cannot find the path specified.

라는 오류가 나옵니다

다음으로 레트로에서는 똑같이 pip밑으로 이동시키고 가상환경 삭제 후 다시 재생성을 시도했는데
Collecting package metadata (repodata.json): done
Solving environment: done
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
Installing pip dependencies: \ Ran pip subprocess with arguments:
['C:\python\envs\rl-gym-retro\python.exe', '-m', 'pip', 'install', '-U', '-r', 'C:\Users\경북대학교\start-RL\gym-retro\condaenv.7p8uihse.requirements.txt']
Pip subprocess output:

Pip subprocess error:
ERROR: Could not find a version that satisfies the requirement libcxx==4.0.1=hcfea43d_1 (from -r C:\Users\경북대학교\start-RL\gym-retro\condaenv.7p8uihse.requirements.txt (line 1)) (from versions: none)
ERROR: No matching distribution found for libcxx==4.0.1=hcfea43d_1 (from -r C:\Users\경북대학교\start-RL\gym-retro\condaenv.7p8uihse.requirements.txt (line 1))

failed

CondaEnvException: Pip failed
라는 오류가 나오거나
Collecting package metadata (repodata.json): done
Solving environment: done
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
ERROR conda.core.link:_execute(699): An error occurred while installing package 'defaults::vs2015_runtime-14.27.29016-h5e58377_2'.
Rolling back transaction: done

[Errno 13] Permission denied: 'C:\python\envs\rl-gym-retro\vcruntime140.dll'
()
라는 오류가 나옵니다
어떻게 해결을 해야 할 지 모르겠습니다

안녕하세요. 현재 환경 설정으로 인해 문제가 발생한 것으로 보입니다. 다음과 같은 해결책을 권장드립니다.

  • 한글 경로 확인 후 영문 경로로 변경
  • 윈도우라면 커맨드 환경 오픈시 관리자 권한 부여 확인
  • 윈도우 환경이라면 각 개발환경마자위 환경 변수 path 설정 확인
  • 첫 에러는 conda 가상 환경이 아니라 pip 가상 환경 에러로 보입니다. 해당 개발환경 삭제 후 다시 시도해보세요.

이 정도 시도해보시기 바랍니다. 다만, 3장은 Intel Mac에서 실습이 진행되었기 때문에 일부 패키지는 윈도우 환경을 지원하지 않을 수 있습니다. 맥이나 리눅스 환경을 구현하신 뒤 시도해보세요