Breaking

2018년 12월 24일 월요일

Scripts activate.bat 은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다(Scripts activate.bat is not recognized as an internal or external command, operable program or batch file.) solution

Scripts activate.bat 은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다(Scripts activate.bat is not recognized as an internal or external command, operable program or batch file.) solution

- 별별정보




=======================================================
2019.10.1 Update - 완벽 해결 Perfect Solution!


이 문제의 해결법은 == 안에 있는 란을 자세히 읽으세요.
이 문제가 일어나는 이유는 아래 더 긴 글을 참조하시고 이 란은 해결법만을 적겠습니다.

1. Anaconda 삭제!
(Remove the full of Anaconda!)

우선 이 에러가 떴다면 여러분은 이미 Anaconda를 설치했고 Prompt를 실행시켰을 때의 에러사안으로 지목되었을 것 입니다.
그러므로 여러분은 이것을 다시 지우는 과정이 필요합니다.

2. 반드시 컴퓨터를 재부팅 시키세요!
(Must Reboot your computer!)

3. Anaconda 버전에 상관없이 오른쪽 버튼으로 아이콘을 클릭 반드시 관리자 권한으로 실행시키세요.
(Click Anaconda with the right mouse button to Run as administrator privilege option)



4. 이제 여러분은 버전에 상관없이 Anaconda 설치에 큰 문제가 없어질 것 입니다.
(Now regardless of the version of Anaconda, you can install & use the Anaconda prompt)
=======================================================
이 글의 제목의 이름은 매우 깁니다. 해결법이 명확히 나와있다고 보기 힘들기 때문에 Error 그 자체를 제목으로 가져올 수 밖에 없었습니다

다만 추측인데 5 Version으로 들어오면서 생긴 Anaconda의 고질적인 Error로 판단됩니다. 

필자인 저는 이런 유쾌하지 않은 경험을 이번에 처음하면서 과거 잘되던 Anaconda의 기억을 자꾸 회상하게 되었고 괜히 지웠나를 후회하게되었습니다. 단순히 Anaconda를 소개해야지 하고 Anaconda를 다시 설치할 때 이런 엄청난 지옥을 경험할지 몰랐기 때문입니다.

그러나 저는 저만의 답을 Anaconda 재설치의 노가다로 찾아내었고 여러분들에게 저의 솔루션 및 다양한 방법을 공유하고자 합니다.

인터넷을 찾아보면 이것에 대한 해결책크게 3가지로 알려줍니다.

1. 선행조건(관련 데이터를 전부 지우는 작업) - Anaconda 재설치 (Anaconda 4.2.0 or 4.3.0 or 4.3.1 Version Recommend)

2. Miniconda 설치하기

3.  activate.bat을 직접 넣자 - 빨간당무 마을 블로그 참조

저는 1,2를 통해 해결했지만 3은 되지 않았습니다. 따로 제시는 하겠으니 참조하시길 바랍니다.

1. 선행조건(관련 데이터를 전부 지우는 작업) - Anaconda 재설치 (4.2.0 or 4.3.0 or 4.3.1 Version Recommend)


이 해결책은 이 질문이 처음 올라온 stackoverflow에서 제시된 내용입니다.
https://stackoverflow.com/questions/46507131/anaconda3-activate-bat-is-not-recognized-as-an-internal-or-external-command

우선 순서는 다음과 같습니다.

1) Python Uninstall

2) Anaconda Uninstall

3) Python과 Anaconda가 설치되었던 곳에 다시 가서 실제로 파일이 지워졌는지 확인합니다.

4) C:\User\(Username : 여러분 컴퓨터 이름)\AppData\Local에 가서 Python 관련 데이터를 전부 지우는 것입니다.

cf) AppData는 숨김 폴더이기 때문에 들어가시기 위해 2가지 방법을 제시합니다.

1 방법 : 경로 주소에 직접 적는다.
ex) C:\User\(Username : 여러분 컴퓨터 이름)\AppData\Local를 복사 붙여넣기한다.

2 방법 : 폴더 맨 위에 있는 보기 - 숨김 항목 체크해주시면 확인이 가능합니다.



5) C:\User\(Username : 여러분 컴퓨터 이름)\AppData\Local\Programs에 가서 Python 관련 데이터를 전부 지웁니다.

6) C:\User\(Username :여러분 컴퓨터 이름)\AppData\Roaming에 가서 Python 관련 데이터를 전부 지웁니다.

7) 제어판 - 시스템 - 고급 시스템 설정 - 환경 변수에 들어가면 여러분은 2개의 상자를 보시게 될 것 입니다. 여기서 첫 번째 상자 '(여러분 컴퓨터 이름)에 대한 사용자 변수(U)'에서 Path 클릭 - 편집 클릭 - Anaconda 혹은 Python 이름이 들어있는 모든 경로를 삭제하세요. 그 다음 확인 - 확인 - 확인 클릭



8) 여러분이 생각하는 Anaconda 버전에 맞는 것을 설치합니다. (Python은 설치할 필요가 없습니다. 이미 Anaconda가 Python을 설치해줄 것 입니다.)

저는 Window 10, 64bit입니다. 이 Error를 만나기 전 Python 7.1에 맞는 Anaconda가 설치되어 잘 실행되었었습니다. 그러나 이 에러로 인해 대부분의 Anaconda가 먹히지 않는다는 사실을 발견하게 되었고 이에 많은 시간을 소모해가며 Anaconda 2018.2, 5.3.1, 5.3.0, 5.2.0, 5.0.1, 4.3.1, 4.3.0, 4.2.0 7개의 Anaconda를 설치와 삭제를 반복했습니다.

<2018 .12="" 5.0.1="" 5.2.0="" 5.3.0="" 5.3.1="" error="" version="">

결과적으로 Python 3.6.0에 해당하는 Anaconda 4.3.0과 Python 3.6.2에 해당하는 Anaconda 4.3.1, Python 3.5에 해당하는 Anaconda 4.2.0세 가지가 된다는 사실을 알게되었습니다. (물론 저의 컴퓨터 환경에서한에서 말이지만 말이죠.)

여러분의 컴퓨터에는 어떤 버전이 통할지 모르겠지만 저의 가정으로는 Anaconda가 Version 5로 넘어오면서 생긴 문제로 생각되기 때문에 그 이전버전인 4에서는 가능한 것이 아닌가 생각하고 있습니다.

 때문에 여러분이 설치하실 때는

안전하게 Python 3.5 버전에 해당하는 Anaconda 4.2.0을 설치하시거나

Python 3.6 버전의 최하위에 해당하는 Anaconda 4.3.0~1을 설치하심을 추천드립니다.

저는 Anaconda 4.3.1을 설치함으로써 해결할 수 있었습니다.

아래 Anaconda를 각 버전별로 설치할 수 있는 Anaconda 사이트 링크를 걸어두겠습니다.

https://repo.anaconda.com/archive/

 2. Miniconda 설치하기


 https://github.com/conda/conda/issues/6053에서 적힌 Error에 대한 user의 고민을 해결해주는 부분에서 solution을 얻었습니다.

2017.12.29 mingwandroid 님의 생각에서 가져왔습니다.



이와 비슷한 한글 블로그는 YOUNGJOONGKWON님의 블로그로 이 사이트에서도 확인해보시면 좋을 것 같습니다.

YOUNGJOONG KWON 블로그 : 'Windows 환경에서 Anaconda를 이용하여 Pytorch 구버전 (0.3.1) 설치하기 + activate.bat 은 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치파일이 아닙니다 에러 해결법'

 다만 저는 Anaconda 패키지들와 폴더 이름을 사용하고 싶었기 때문에 이 방식으로 설치한 Miniconda을 삭제하고 Anaconda 재설치 노가다로 방법을 찾았지만 여러분은 굳이 Anaconda가 필요할 만큼의 많은 패키지를 사용하는 것이 아니라면 이 또한 좋은 방법일 것 입니다.

더욱이 이 방법으로 해결하신 분들이 많이 계시니 시도해봄직 합니다.

자 그럼 순서를 알려드리겠습니다.

1) 1번 1) ~ 7) 에 해당하는 부분을 진행해주세요
이 부분은 Python과 Anaconda에 관련된 모든 것을 전부 삭제하는 과정이니 꼭 따라주시면 좋겠습니다.  물론 Uninstall만으로도 저는 가능했던 경우도 있었지만 완벽을 기합시다.

2) 아래 링크에서 자신의 운영체제와 비트 수에 맞는 Miniconda를 다운 받는다.

https://repo.continuum.io/miniconda/

귀찮으시다면 가장 최신 버전을 다운 받을 수 있는 아래 링크를 활용하셔도 좋습니다.

64 bit Miniconda installer
https://repo.continuum.io/miniconda/Miniconda3-latest-Windows-x86_64.exe
https://repo.continuum.io/miniconda/Miniconda2-latest-Windows-x86_64.exe
32 bit Miniconda installer
https://repo.continuum.io/miniconda/Miniconda3-latest-Windows-x86.exe
https://repo.continuum.io/miniconda/Miniconda2-latest-Windows-x86.exe

3) 다운 받은 Minconda 설치
미니 콘다는 말 그대로 Anaconda의 축소 버전입니다. Anaconda가 제공하는 모든 패키지를 사용하는 사람은 거의 없기 때문에 이를 축소시켜 제공하는 것 입니다. 때문에 Anaconda로의 전환이 Miniconda의 Anaconda Prompt를 사용으로 가능합니다.

4) Anaconda Prompt을 마우스 오른쪽 클릭으로 관리자 권한으로 실행시켜줍니다.

5) 다음 명령어를 적습니다.
conda install anaconda=5.3

5.3 대신 원하는 최신 버전을 적을 수 있습니다.
https://repo.anaconda.com/archive/
anaconda 버전 정보는 위 링크를 가셔서 확인하시기 바랍니다.
현재 최신 버전은 2018.12으로 이것을 적을 수도 있습니다.
conda install anaconda=2018.12와 같이 말이죠.



설치가 완료되면 conda list를 쳐봐서 확인해봅시다.



 이와 비슷하다면 여러분은 성공하셨습니다.

이제 python에 들어가서 패키지를 불러와봅시다.

만약 패키지가 존재하지 않는다면 pip install (package_name : 패키지 이름)을 쳐서 설치하고 불러와봅시다.

 cf) 저 역시도 여기까지는 성공한듯 보였으나 아래와 같은 Error를 다시 맞닥뜨리게 됩니다.

1)pip install을 통해 추가 패키지 설치 및 conda install 을 다시 실행했으나 다른 error를 만나게 됩니다. 그 error와 관련해서는 numpy와 관련된 문제였는데 캡쳐하지 못해서 이미지는 없습니다. 이렇게 된다면 1번을 수행하시길 권장합니다.
( 다음 설명할 2)번에서 발생한 numpy와는 다른 문제입니다.)



2) FutureWarning으로 사용에는 크게 상관없습니다. 보기에만 거슬릴 뿐 이 상태는 사용하실 수 있는 최적의 상태라고 생각됩니다. 만약 이 상태라면 그대로 사용하셔도 무방합니다.


https://stackoverflow.com/questions/48340392/futurewarning-conversion-of-the-second-argument-of-issubdtype-from-float-to
비슷한 문제의 user와 그 의견 교류와 관련된 링크이므로 들어가셔서 찾아보셔도 좋습니다.

참고로 h5py 업그레이드로 해결될 수 있는 부분이므로 conda install 을 할 때 최신 버전으로 다운 받는 것이 좋을 것 같습니다.


3.  activate.bat을 직접 넣자 - 빨간당무 마을 블로그 참조


http://redcarrot.tistory.com/221

위 블로그에서 제시하는 방법으로 activate.bat 파일이 없는 근원적인 문제를 해결하기 위해 직접 집어넣는 방법을 제시합니다.

그 내용을 발췌하면 다음과 같습니다.

"""
Anaconda 환경 실행 및 해제
windows
activate 환경이름(환경이름 생략시 기본 root)
deactivate
리눅스 계열
source activate 환경이름
source deactivate

Windows 에서 Anaconda3 - activate.bat가 실행되지 않는 경우
1. activate.bat 파일이 없다
anaconda 설치 폴더를 찾아 하위 디렉토리인 Scripts를 찾아 activate.bat 가 있는지 확인 없다면
이 파일(  activate.zip)을 다운 받아서 압축해제하여 Scripts 폴더 밑에다 복사해둠
2. activate.bat 파일이 있는 경우
윈도우 환경변수의 path에 /anaconda3/Scripts 위치가 포함되지 않은 문제이다.
내컴퓨터 속성 -> 고급 시스템 설정 -> 시스템 속성 창에서 고급 탭 -> 환경 변수 -> 하단 시스템 변수 중에 
path를 찾아서 2개 항목을 추가하면 됨
if 설치된 anaconda3의 폴더 위치가 c:\Anaconda3 라면:
기존 path 가장 앞 쪽에 C:\Anaconda3\Scripts\;C:\Anaconda3\; 을 추가할 것
if 설치된 anaconda3의 폴더 위치가 c:\ProgramData 라면:
기존 path 가장 앞 쪽에 C:\ProgramData\Anaconda3\Scripts\;C:\ProgramData\Anaconda3\; 을 추가할 것
if 설치된 anaconda3의 폴더 위치가 [특정 위치]라면:
기존 path 가장 앞 쪽에 [특정위치]\Anaconda3\Scripts\;[특정위치]\Anaconda3\; 을 추가할 것
3. 권한이 없다고 하는 경우
현재 윈도우 사용자 권한을 사용자->관리자 권한으로 바꿀 것. 그리고 재부팅

출처: http://redcarrot.tistory.com/221 [빨간당무 마을]

"""

저 역시 이 방법을 시도해보았지만 또 다른 문제를 낳앗습니다.



그것은 conda.exe를 또 달라는 것이었습니다.

그러나 저는 또 conda.exe 파일을 구해 직접 또 집어넣었더니 실행이 되지 않더군요....

그래서 저는 포기했지만 이 방법도 있다는 점을 알고 도해보시길 바랍니다.

=====================================================================

마무리

여기까지 힘들게 Anaconda를 설치하셨다면 정말 수고많으셨습니다.

제가 앞의 글에서 알려드린 Anaconda의 문제없이 설치하신 분에 비하면 정말 어렵게 도달한 것이나 마찬가지입니다.

저는 이 컴퓨터에 Anaconda를 12번 재설치했고 Minconda를 3번 깔았다 지우고 3번 방식을 하기 위해 많은 시간을 보내면서 참 많은 시간을 소모했습니다.

저는 이 처럼 다양한 오류를 겪는 참...(x) 같은 일을 겪으면서 이런 개고생이 따로 있나 생각하게 되었습니다. 차라리 포맷을 하는 것이 빠르겠다라고 생각할만큼 고통스러웠고 이런 경험을 여러분이 더는 하지 않으셨으면 한다라는 생각을 하게 됩니다.

고생해서 설치한만큼 Anaconda에서 제공하는 Python 패키지를 잘 사용해보길 바랍니다.

감사합니다.


ALL RIGHT RESERVED TWINSTARINFO