Mac OS Catalina에서 Conda와 Virtualenv를 작동시키는 방법은 무엇입니까?


12

이전에는 Mojave에서 Conda를 매끄럽게 실행했지만 Catalina로 업그레이드하면 "anaconda3"폴더가 데스크탑> 재배치 된 항목> 보안> anaconda3으로 이동합니다. Catalina의 보안 설정으로 인해 응용 프로그램을 더 이상 사용자 디렉터리에 직접 설치할 수없는 것 같습니다.

나는 제안을하려고 여기 아래에 작성 :

안녕, 나는 해결책이있을 수 있습니다

  • 재배치 된 항목에있는 anaconda3 폴더를 / Users / myname /에 복사하십시오.
  • 터미널 열기
  • 입력 : export PATH = ''/ Users / myname / anaconda3 / bin : $ PATH "
  • 입력 : conda init zsh

효과가 있었다! 행운을 빕니다!

그러나 이것은 나를 위해 작동하지 않습니다. conda init zsh내가 얻은 후 :

-bash : / Users / USER / anaconda3 / bin / conda : / anaconda3 / bin / python : 잘못된 인터프리터 : 해당 파일 또는 디렉토리가 없음

가상 환경을 모두 잃지 않고 어떻게 Conda를 다시 시작하고 실행할 수 있습니까? 감사!


최신 정보

@Ted Shaowang의 제안에 따라 Conda가 일하도록했습니다. 이는 conda env listConda를 통해 생성 된 모든 가상 환경 을 보여줍니다.

그러나 virtualenv기본 anaconda3 파일 위치를 변경했기 때문에 여전히 python을 찾을 수없는 문제가 있습니다.

에 위치한 python 실행 파일을 .virtualenvs/env/bin/python찾을 수 없습니다. 파이썬이 작동하게하려면 추가로 변경해야 virtualenv합니까?


오류로 인해 여전히을 사용하는 것처럼 보이지만 bash제안 된 해결책은 zsh(새로운 카탈리나 기본값)입니다. conda init bash대신 시도하십시오 .
merv

같은 오류가 발생했습니다. bash작동하지 않습니다.
Kaymal

답변:


6

나는 똑같은 문제가 있으며 이것은 나를 위해 작동합니다 :

당신은 아나콘다가 "사옥 이전 항목"에서 이동 한 후 ~/anaconda3, 편집의 첫 번째 줄 ~/anaconda3/bin/conda에서 파일 #!/anaconda3/bin/python에이 #!/Users/USERNAME/anaconda3/bin/python변경 사항을 반영합니다.


1
이것이 핍 및 Jupyter 설정에 영향을 줍니까?
rrz0

1
이것은 anaconda3 및 python과 관련된 모든 문제를 해결하지 못하는 것 같습니다. 오류 : 프로그램을 실행할 수 없습니다 "/Users/USER/.virtualenvs/env/bin/python". 해당 파일 또는 디렉토리가 없습니다. Finder를 체크인하면 파일이 실제로 누락되어 찾을 수 없습니다.
rrz0

3

위의 솔루션을 사용하지 않을 것입니다. 이 ~/anaconda3/bin디렉토리에는 conda이 수동 방식으로 변경해야하는 많은 실행 가능 파일 ( 하나만이 아니라 )이 있습니다. 예를 들어, 동일한 변경을하지 않으면 다른 환경 jupyter notebook에서 base또는 다른 환경 에서 실행할 수 없습니다 .

팁 : 가상 환경에 대한 요구 사항 파일을 가져 와서 새로 설치하십시오. 당신이 사용할 수있는 pipreqs개별 프로젝트에 사용되는 요구 사항을 얻을 : https://www.idiotinside.com/2015/05/10/python-auto-generate-requirements-txt/


제안 해 주셔서 감사합니다. 당신이 말하는 것처럼 문제는 여전히 남아 virtualenv있습니다.
rrz0

3
이러한 수정 도구를 추천 블로그 게시물을 참조하시기 바랍니다 anaconda.com/...
msarahan


1

기술적으로 이것은 아나콘다를 다시 설치하고 있지만 모든 콘다 환경을 복원했기 때문에 이것이 가능한 해결책입니다!

몇 분 전 (현재 z-shell을 사용하여) Catalina에서 작업하게 된 방법은 다음과 같습니다.-데스크탑에 "Relocated Items"디렉토리와 "anaconda3"디렉토리 및 그 내용이 있는지 확인했습니다. "anaconda3"아래의 envs 디렉토리에서 파인더 창이 열린 상태로 둡니다 (스크린 샷 참조).

여기에 이미지 설명을 입력하십시오

그때:

  • 새로운 터미널 개설 (z-shell)
  • 실행 됨 (/ usr / local / anaconda3에 설치됨) :

    양조 통 설치 아나콘다

  • 설치에 성공한 후 ~ / .zshrc 파일 (z-shell 별명 용)을 열고 다음 행을 추가했습니다.

    내보내기 PATH = "/ usr / local / anaconda3 / bin : $ PATH"

  • ~ / .zshrc 파일을 저장 한 후 다음과 같이 다시로드했습니다.

    소스 ~ / .zshrc

  • conda 명령이 작동하는지 확인하기 위해 다음을 실행했습니다.

    콘다 환경 목록

  • 나를 위해, 이것은 기본 환경을 보여주었습니다.

  • 그런 다음 Finder를 새로운 envs 위치로여십시오 : open / usr / local / anaconda3 / envs /.

  • 나는 모든 오래된 envs를 새로운 envs 폴더로 드래그 (이동) 한 다음 실행했습니다.

    콘다 환경 목록

그리고 나의 모든 오래된 envs가 돌아왔다! :)

  • 이 환경의 새로운 위치를 반영하도록 내 PyCharm 인터프리터 / env 경로를 업데이트했습니다 (PyCharm을 다시 시작해야했지만 이제는 작동합니다!)
  • 끝난

제안 해 주셔서 감사합니다. 이 작업을합니까 virtualenv도는? 좀 가지고 virtualenvs프로그램 "/Users/USER/.virtualenvs/baseline_env/bin/python"해당 파일 또는 directory.`에서 찾기 나 또한 얻을를 실행할 수 없습니다 : 나는`오류가 계속으로 Pycharm에서 사용할 수 아니라고하는이"The original item python cannot be found.
rrz0

1
자세한 깨진 연결 문제를 해결하는 도구 추천 블로그 게시물을 참조하시기 바랍니다 anaconda.com/...
msarahan

1
@ Rrz0 작성한 내용에 따라 virtualenv의 경로가 잘못되었다고 생각합니다. 해 키지 만 virtualenv에 도달 할 수 있다면 경로를 복사하고 PyCharm에서 항목을 편집 할 수 있어야한다고 생각합니다 (virtuenvs가 이동 된 항목 거래에있는 경우 어디에서 조언 해야할지 모르겠습니다. )-py freem> requirements_VENV_NAME.txt-PyCharm에서 새로운 virtualenvs를 생성하십시오-각각의 새로운 virtualenv를 활성화하고 실행하십시오 : pip install- r requirements_VENV_NAME.txt
Phil S

@PhilS에게 감사합니다. 그 라인을 따라 무언가가 작동했습니다.
rrz0

0

이것이 주석인지 최소한 임시 답변인지는 확실하지 않지만 지금은 Anaconda와의 Catalina 호환성 문제를 해결하려고 시도하지 않습니다. 이 GitHub 문제를 참조하십시오 .


0

나는 같은 문제가 있으며, 이것은 나를 위해 일한다 : 내 해결책 :

  1. 재배치 된 항목 폴더에서 아나콘다 3 복사
  2. 사용자 / 사용자 이름에 붙여 넣기
  3. 편집기를 사용하여 anaconda3 / bin에서 conda 파일을 열고 첫 번째 줄 #!/anaconda3/bin/python을 편집하십시오.#!/Users/YourUserName/anaconda3/bin/python
  4. 저장하고 conda 파일을 실행하십시오.
  5. 터미널 열기
  6. 이것을 실행하십시오 : export PATH=''/Users/YourUserName/anaconda3/bin:$PATH"
  7. 운영 conda init zsh

virtualenv예를 들어, 파이썬이 작동하게하려면 추가로 변경해야 합니까?
rrz0

0

나는 같은 문제가 발생했으며 다음과 같은 해결책이 나를 위해 일했으며 이것이 가장 쉬운 해결책입니다.

재배치 된 항목의 anaconda3 파일을 User / USERNAME 디렉토리로 복사하는 대신에 공식 웹 사이트 ( https://www.anaconda.com/distribution/#macos) 에서 anaconda navigator의 최신 버전을 다시 설치하는 것이 좋습니다.

설치하는 동안 새로운 Apple 보안 정책의 결과 인 일부 권한을 요청하고이를 부여하면 새로 설치 한 후의 방식대로 작동합니다!


0

이것이 나를 위해 일한 것입니다.

이들은 내 헤더 파일입니다 (Catalina 10.15).

/Library/Developer/CommandLineTools/usr/include/c++/v1/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h

운영 sudo find /Library -name stdio.h당신의 위치를 ​​확인하기 위해 합니다.

모하비 10.14 헤더 파일 :

$ sudo find /Library -name stdio.h 
/Library/Developer/CommandLineTools/usr/include/c++/v1/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h

보다시피, SDK는 이제 Mojave와 달리 MACOSX10.14와 10.15로 나뉩니다.

TLDR

따라서 Catalina의 SDK 폴더는 다음과 같습니다.

<img width = "208"alt = "image"src = "https://user-images.githubusercontent.com/31866965/67324292-e49a1e00-f513-11e9-997e-9c49e7badbe5.png">

  1. 이름 바꾸기 MacOSX.sdkMacOSX_orig.sdk
  2. 우클릭 MacOSX10.14.sdk
  3. 복제
  4. 중복 폴더 이름을 MacOSX.sdk

이제 폴더 구조는 다음과 같아야합니다.

<img width = "195"alt = "image"src = "https://user-images.githubusercontent.com/31866965/67318914-74d46500-f50c-11e9-879d-ef0cd3e458cc.png">

이와 같이 기본적으로 이전 버전의 OSX SDK를 sysroot로 사용합니다. 도움이 되었기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.