Anaconda가 python3을 기본값으로 설정 한 후 어떻게 python2로 다시 전환합니까?


18

최근 에 15.04에 Anaconda3-2.5.0-Linux-x86_64.sh 를 설치 하고 이것으로 끝났습니다!

:~$ python --version
Python 3.5.1 :: Anaconda 2.5.0 (64-bit)

:~$ python2 --version
Python 2.7.9

:~$ python3 --version
Python 3.5.1 :: Anaconda 2.5.0 (64-bit)

설치의 마지막 순간에 나는 yes서둘러 무언가를 입력 했고, 이것으로 무언가를해야한다고 생각합니다. (오케이, 내 잘못, 나는 그것을 조심스럽게 다루어야했지만 비판이 아닌 지금 도움이 필요하다).

스크린 샷

AFAIK 이것은 다른 프로그램을 확실히 깨뜨릴 것입니다. 지금 무엇을해야합니까?


내가 생각할 수있는 것.

별명을 사용하여이를 수행 할 수 있습니까?

alias python=python2

그러나 나는 확실하지 않다.


예. 사용alias python=python2
Mostafa Ahangarha

AFAIK 이것은 분명히 다른 프로그램을 깨뜨릴 것입니다. 어떤 것이 너를 그렇게 생각하게 만들었습니까? Anaconda가 Python 3을 기본값으로 설정하면 이유가있을 수 있습니다.
fkraiem

이미 2.x 용으로 작성된 프로젝트 중 하나를 망쳤으며 많은 패키지가 2.x에서 작동하기 때문에 기본값을 3.x로 변환하는 것은 권장되지 않습니다!
불길한

전문적인 접근 방식을 취하고 사전 설치 부팅 드라이브를 복제하여 시간이 많이 걸리지 않도록하는 것이 기쁩니다. 아래 답변을 참조하십시오. 귀하의 설치 방법으로 결함이 발생했다고 생각합니다. 이런 일이 발생하면 되돌리고 다시 시도합니다. 실행 가능한지 여부를 파악하는 데 총 시간이 하루 미만입니다. 제 경우에는 보시다시피, 검증이 끝났으므로 이제 노력의 가치가 있는지 확인할 수 있습니다. 문제가 발생하지 않았는지 확인하기 위해 며칠이 걸렸으며 연구 작업이 진행 중입니다.
SDsolar

Python 버전을 지정하는 경우 전체 시스템에서 발생할 수있는 파급 효과를 정확하게 알고 있어야합니다. 방금 연주하지 않는 한 기본 which pythonshebang 결과 의 대상을 변경하면 실제로 전체 확인 프로세스가 필요합니다 . 나중에 유틸리티를 다시 작성해야 할 필요가 있다는 사실을 나중에 발견하지 못하게하려면 약간의 시간이 걸립니다. 시간이 많이 걸리지 않는 한 기본 설정으로 작업하는 것이 가장 좋습니다.
SDsolar

답변:


18

VM에서 설치를 진행했으며 다음과 같은 일이 발생했습니다.

  1. 설치 관리자가 설치 위치를 묻습니다. 기본값은 /home/myuser/anaconda3입니다.
  2. 마지막에 당신은 묻는 것입니다

    Python 3.5.1 :: Continuum Analytics, Inc.
    creating default environment...
    installation finished.
    Do you wish the installer to prepend the Anaconda3 install location
    to PATH in your /home/myuser/.bashrc ? [yes|no]
    [no] >>> yes
    
    Prepending PATH=/home/myuser/anaconda3/bin to PATH in /home/myuser/.bashrc
    A backup will be made to: /home/myuser/.bashrc-anaconda3.bak

이전 동작을 복원하려면 홈 디렉토리로 이동하여

mv .bashrc-anaconda3.bak .bashrc

그런 다음 새 쉘을 시작하십시오.

당신이 제안한대로, 당신은 할 수 alias python=python2있지만, 나는 조금 이상하다고 생각합니다. 나는

  1. 원본을 복원 .bashrc
  2. 작성 (없는 경우) ~/bin
  3. 링크 ln -s ~/anaconda3/bin/python3 ~/bin/python3
  4. [앞에 추가가 $HOME/bin$PATH(해야 이미에 의해 기본적으로 설정 ~/.profile)
  5. 재 로그인.

그렇게하면 python3아나콘다에서 전화 가 시작됩니다.


중요한 점은 원본 /usr/bin/python이 여전히 있으며 여전히을 가리 킵니다 python2.7. python->python3경로에 미치는 영향은 특정 스크립트가 어떻게 호출되는지에 달려 있습니다.

#!/usr/bin/python우분투와 함께 제공되는 모든 실행 파일에서와 같이 shebang 을 사용하는 경우 아무 것도 변경되지 않습니다. 반면에, 더 나은 이식성을 위해 #!/usr/bin/env python때때로 사용되기도하는데, 이제는 python3.5호출됩니다.


3
"4. $ HOME / bin을 $ PATH 앞에 추가하십시오.".. 이미 기본적으로 수행되어 있습니다. ~/.profile– 작성 후 다시 로그인하면 ~/bin됩니다.
muru

@muru 맞습니다. 감사합니다. 답변에 추가되었습니다.
Nephente

알았어, 고마워! 이 사실을 알기 위해 파이썬 3.4.3도 이전에 설치했으며 pip와 pip3이 모두 관련되어 있음을 알았습니다. 이제 2.7, 3.4, 3.5가 있습니다. 이제 pip를 다시 설치하여 3.5를 가리킬 것입니다!
sinister

Anaconda는 conda라는 자체 패키지 관리자와 함께 제공됩니다. 또한 가상 환경을 관리합니다. pip 대신 패키지를 설치하는 데 사용합니다.
Nephente



3

누구나 아나콘다 또는 python 3으로 기본 버전을 변경하여 python 기본 버전을 다시 2.7로 변경하려는 경우 작동하지 않는 소프트웨어로 종료하려면 다음 링크를 클릭하십시오. 기본 변경 지침과 연결 파이썬 버전.


시스템 변경이 잘못되면 롤백 할 수 있는지 확인하십시오. 시스템 이미지 백업이 양호해야 계획에 따르지 않을 경우 주요 변경 사항을 신속하게 되돌릴 수 있습니다. 전문적으로 생각하십시오. 아마추어 기술을 사용하면 전문적인 결과를 기대할 수 없습니다.
SDsolar

1

이것은 나를 위해 일했지만 Miniconda의 경우 Anaconda에서도 작동해야하지만 내가 틀렸다면 수정하십시오.

먼저 $ PATH 변수를 얻으십시오 .

echo $PATH

아마도 다음과 같이 보일 것입니다 (다른 모든 것 앞에 미니 콘다 경로) :

/home/your_user/miniconda3/bin:$PATH

해당 경로를 ~ / .bashrc 파일 의 맨 아래에 복사하지만 경로 의 시작 부분 대신 끝에 Miniconda를 사용하십시오.

export PATH="$PATH:/home/your_user/miniconda3/bin"

시스템은 $ PATH 의 시작 부분에서 프로그램을 찾습니다 miniconda3 / bin 폴더 앞의 변수 .

파이썬과 같은 이전 프로그램의 버전을 복원해야합니다.

Conda 4.4 부터 ~ / .bashrc에 추가 된 코드를 변경했습니다 . 이제 동일한 것을 달성하려면 ~ / .bashrc를 편집하고 아래 줄을 주석 처리하여 모든 터미널에서 기본 계층 (기본 환경)이 활성화되지 않도록하십시오. 새로운 추가 기능의 다른 부분을 만질 필요가 없습니다. 의미 CONDA_CHANGEPS1=false가 무엇인지 확실 하지 않지만 지금까지 어떤 문제도 발생하지 않았습니다.

   # CONDA_CHANGEPS1=false conda activate base

당신은 더 이상 경로에 CONDA 폴더를 볼 수 없습니다 동안 그리고, conda명령은 여전히 벌금을 실행하고 원래의 것 python, python3pipenv명령뿐만 아니라 것입니다.


당신이 옳다고 생각하기 때문에 공감하십시오. 데이터베이스에있는 것이 좋습니다. 그러나 관련 소프트웨어의 버전 번호와 관련하여 좀 더 구체적으로 요구할 수 있습니까?
SDsolar

감사합니다. 프로그램 버전이 중요하다고 생각하지 않습니다. 항상 작동해야합니다. 당시 내 설치 프로그램은 다음 버전이었습니다. Miniconda3 4.3.14. 도움이 되나요?
pedrodcb

0

여기 내 대답이 있는데, 그것은 당신이 당신의 자신의 시스템에 한 것에 대한 실제 구체적인 대답 일 수도 아닐 수도 있습니다.

그러나 나는 비슷한 상황에 처해 있으며 같은 관심사를 가지고 있었다.

Ubuntu 16.04 LTS 및 Python 2.7.12를 사용하고 있으며 최근에 Anaconda를 설치했습니다.

이제 명령 줄로 이동하여 입력 python하면 여전히 Python2 설치로 이동합니다.

이 순서로 확인 :

$which python
/usr/bin/python     <  Catch-all for max compatibility
$python
Python 2.7.12 . . etc

따라서 제 경우에는 anaconda기본 Python2 shebang에 아무런 문제가 없습니다.

궁극적으로 이것이 문제입니다.

시스템에 요청할 때 which python명령 행 스타일의 Python 프로그램의 첫 번째 라인에서 사용할 올바른 문자열임을 신뢰할 수 있습니다.

내 상황에서 모든 동일한 Python 명령 줄 스크립트 파일은 계속 정상적으로 실행됩니다.

나는 3 호환 모드에서 파이썬을 쓰는 경향이 있습니다. 내 인쇄 진술에 괄호를 사용하는 등. 그러나 열심히 싸운 Python 2 프로그램이 고장을 일으킬 수있는 시스템의 주요 변경 사항에 적극적으로 저항하고 있습니다. 파이썬 3은 훌륭하지만 내 요구에 불필요합니다. 파이썬 2는 놀라운 언어입니다.

내 컴퓨팅 환경에서는 돌아가서 처음부터 어디에서 사용했는지 파악해야했기 때문에 시간이 많이 걸리지 않고 올바르게 작동하도록 조정 된 과거 프로세스를 다시 엔지니어링하고 다시 엔지니어링 할 수 없습니다.


결론 : anaconda나중에 사용하기 위해 설치할 때 속도 충돌이나 문제가 없었습니다.


그것이 제가 진행하는 시점입니다 ... 과거의 모든 소프트웨어의 재 인증을 마쳤습니다.


다음 단계는 실제로 패키지에 약속 된 멋진 것들을 사용하는 것입니다.


따라서 다른 단순히 설치하는 anaconda것이 상황에 더 많은 것이어야한다고 생각해야합니다.

내 경험으로는 전혀 문제가되지 않습니다.


참고로, 나는 태양 역학을 연구하는 완전한 과학적 워크 스테이션을 가지고 있습니다. 또한 임시 및 위성 상호 작용에 대해서도 설명합니다. 반드시 작동해야합니다. 그래서 나는이 모든 것에서 단지 하나의 트릭 조랑말이 아닙니다. 한 번에 하나씩 설치 한 다음 그 전에 모든 것이 작동하는지 확인합니다. 그런 다음 다음으로 넘어갑니다. SciPy, Matplotlab 등 (플로팅에 대한 선호는 gnuplot입니다). 따라서 학술 연구 환경에서 24x7 라이브 시스템의 데이터 포인트 로이 답변을 제출하고 있음을 이해하십시오. 이것은 테스트 환경이 아니며 매일 생산됩니다.
SDsolar

또한 위의 의견에서 언급했듯이 THINK PROFESSIONAL. 이 시스템은 전 세계의 고급 연구원들이 사용하고 있습니다. -> 주요 시스템 업그레이드를 수행하기 전에 부트 드라이브에 클론이 있는지 확인하십시오. dd명령은 빠르고 쉽게, 그리고 SATA 연결이 용이하다. 시스템 보호를 피할 이유가 없습니다. 각 단계에서 발생할 수있는 모든 변경 사항을 되돌릴 수 있다는 점에주의하십시오. 하드 리브는 시간보다 훨씬 저렴합니다. (그렇지 않다고 생각하지 않는 한). 교부금과 시간 경색은 충분한 인센티브가되어야합니다.
SDsolar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.