[python] 파이썬을 업데이트하는 방법?

2012 년 초부터 버전 2.7을 설치했습니다. 최신 버전을 설치하기 전에이 버전을 완전히 제거하고 지 울지 여부에 대한 합의를 찾을 수 없습니다.

“소프트”-이전 버전을 제거 하시겠습니까? 이전 버전을 완전히 제거 / 삭제 하시겠습니까? 위에 설치 하시겠습니까?

필자는 파이썬 설치의 “세그먼트”방법을 사용하여 다른 버전을 분리하고 기능적으로 유지하면서 특수한 설치 / 업그레이드 프로세스를 보았습니다. 이것이 실제로 표준인지 확실하지 않습니다.

또한 Revo가 너무 과장되어 환경 / 경로 변수와 같이 여전히 필요한 잔재를 지우는 데 문제가 발생할 수 있는지 궁금합니다.

(Win7 x64, 32 비트 Python)



답변

업데이트 : 2018-07-06

이 게시물은 이제 거의 5 살입니다! Python-2.7은 2020 년에 python.org로부터 공식 업데이트 수신을 중단합니다 . 또한 Python-3.7이 릴리스되었습니다 . 확인 파이썬 미래를 파이썬 3 파이썬-2 코드 호환되도록하는 방법. conda를 업데이트하려면 이제 conda update --all각 conda 환경에서 해당 패키지의 모든 패키지와 Python 실행 파일을 업데이트 할 것을 권장 합니다. 또한 이름이 Anaconda로 변경되었으므로 Windows 레지스트리 키가 여전히 같은지 모르겠습니다.

업데이트 : 2017-03-24

2015 년 6 월 이후 Python (x, y)에 대한 업데이트는 없었으므로 포기되었다고 가정하는 것이 안전하다고 생각합니다.

업데이트 : 2016-11-11

@cxw가 아래 에서 언급 했듯이 이러한 답변은 동일한 비트 버전에 대한 것이며 비트 버전은 64 비트와 32 비트를 의미합니다. 예를 들어,이 답변은 64 비트 Python-2.7.10에서 64 비트 Python-2.7.11 ( , 동일한 비트 버전) 로 업데이트하는 데 적용됩니다 . 서로 다른 두 가지 버전의 Python을 함께 설치할 수는 있지만 약간의 해킹이 필요하므로 독자를 위해이 연습을 저장하겠습니다. 해킹하지 않으려면 비트 버전을 전환하는 경우 다른 비트 버전을 먼저 제거하는 것이 좋습니다.

업데이트 : 2016-05-16

  • AnacondaMiniConda 는 Windows PATH및 레지스트리 변경 옵션을 비활성화하여 기존 Python 설치에서 사용할 수 있습니다 . 추출 후 PyPI conda에서 심볼릭 링크를 만들 bin거나 conda를 설치 하십시오 . 그런 다음라는 또 다른 심볼릭 링크 생성 conda-activateactivate아나콘다 / Miniconda 루트의 bin 폴더에 있습니다. 이제 Anaconda / Miniconda는 Ruby RVM과 같습니다. conda-activate rootAnaconda / Miniconda를 활성화 하는 데 사용하십시오.
  • 휴대용 파이썬은 더 이상 개발되거나 유지되지 않습니다.

TL; DR

  • Anaconda 또는 miniconda를 사용하여 conda update --all각 conda 환경을 최신 상태로 유지 하려면 실행하십시오 .
  • 동일한 주요 파이썬 버전 ( 예 : 2.7.5), 예전 버전 ( 예 : 2.7.4) 위에 설치
  • 공식 파이썬 의 다른 주요 버전 ( 예 : 3.3), 오래된 버전과 나란히 설치하고, 지배적 인 ( 예 : 2.7) 을 가리 키도록 경로 / 연결을 설정하고 , 다른 것으로 바로 가기 ( 예 : BASH $ ln /c/Python33/python.exe python3).

대답은 다음과 같습니다.

  1. OP에 2.7.x가 있고 최신 버전 2.7.x를 설치하려는 경우

    • 공식 Python 웹 사이트 에서 MSI 설치 프로그램 을 사용하는 경우 이전 버전 위에 설치하면 설치 프로그램이 이전 버전을 제거하고 교체한다는 경고를 발행합니다. “제어판”의 “설치된 프로그램”에서 이전 버전이 새 버전으로 바뀌 었음을 확인합니다. 2.7.x의 최신 버전은 이전 버전과 호환되므로 완전히 안전하므로 IMHO 여러 버전의 2.7.x는 필요하지 않습니다.
    • 소스에서 빌드하는 경우 새롭고 깨끗한 디렉토리에 빌드 한 다음 모든 테스트를 통과하고 성공적으로 빌드되었다고 확신하면 새 빌드의 경로를 가리켜 야합니다. 소스에서 빌드하는 데 때때로 문제가있을 수 있으므로 빌드하십시오. SDK 7.0이 설치된 Windows 7에서 Python x64를 빌드하는 방법에 대한가이드를 참조하십시오 .
    • Python (x, y) 과 같은 배포판에서 설치하는 경우 해당 웹 사이트를 참조하십시오. 파이썬 (x, y) 은 버려졌습니다. 패키지 관리자를 사용하여 Python (x, y) 내에서 업데이트를 처리 할 수 ​​있다고 생각하지만 업데이트는 웹 사이트에도 포함되어 있습니다 . 특정 참조를 찾을 수 없으므로 다른 사람이 이에 대해 말할 수 있습니다. ActiveState 및 아마도 Enthought와 유사하게 Python (x, y)는 다른 Python 설치와 호환되지 않는다고 분명히 밝힙니다.

      Python (x, y)를 설치하기 전에 다른 Python 배포를 제거하는 것이 좋습니다.

    • Enthought 캐노피 MSI는을 사용하고로 중 하나를 설치합니다 Program Files\Enthought또는 home\AppData\Local\Enthought\Canopy\App모든 사용자 또는 각각 사용자 당. 기본 제공 업데이트 도구를 사용하여 최신 설치가 업데이트됩니다. 해당 설명서를 참조하십시오 .
    • ActiveState 는 또한 MSI를 사용하므로 이전 설치 위에 최신 설치를 설치할 수 있습니다. 설치 정보를 참조하십시오 .

      기타 Python 2.7 설치 Windows에서 ActivePython 2.7은 다른 Python 2.7 설치 (예 : python.org의 Python 2.7 빌드)와 공존 할 수 없습니다. ActivePython 2.7을 설치하기 전에 다른 Python 2.7 설치를 제거하십시오.

    • Sage 는 가상 머신에 설치하고이 용도로 사용할 수있는 Oracle VirtualBox 이미지 파일을 제공 할 것을 권장합니다. 업그레이드는 sage -upgrade명령 을 실행하여 내부적으로 처리됩니다 .
    • Anaconda다음 conda명령 을 사용하여 업데이트 할 수 있습니다 .

      conda update --all

      Anaconda / Miniconda를 사용하면 Python-2.6, 2.7, 3.3, 3.4 및 3.5를 포함한 여러 Python 버전을 관리 할 수있는 환경 을 만들 수 있습니다 . 루트 Anaconda / Miniconda 설치는 현재 Python-2.7 또는 Python-3.5를 기반으로합니다.

      Anaconda는 다른 Python 설치를 방해 할 수 있습니다. 설치는 MSI 설치 프로그램을 사용합니다.
      [ 업데이트 : 2016-05-16] Anaconda 및 Miniconda는 이제 .exe설치 관리자를 사용하고 Windows PATH및 레지스트리 변경 을 비활성화하는 옵션을 제공 합니다.

      따라서 Anaconda / Miniconda는 설치 방법 및 설치 중에 선택한 옵션에 따라 기존 Python 설치를 방해하지 않고 설치할 수 있습니다. 경우 .exe설치 프로그램이 사용하고 옵션 윈도우 변경 PATH및 레지스트리가된다 하지 않도록, 다음 이전 파이썬 설치는 사용할 수있을 것입니다 만, 단순히 아나콘다 / Miniconda 설치를 제거하는 것은, 원래 파이썬 설치를 복원 어쩌면 Windows 레지스트리를 제외시켰다해야 Python\PythonCore키를.

      : 아나콘다 / Miniconda에 관계없이 설치 옵션의 다음 레지스트리 편집을하게 HKCU\Software\Python\ContinuumAnalytics\다음 키 Help, InstallPath, ModulesPythonPath– 공식 파이썬도 이러한 키를 등록하지만, 아래에 Python\PythonCore. 또한 제거 정보는 Anaconda \ Miniconda에 등록됩니다. 설치 중에 “Windows에 등록”옵션을 선택하지 않으면이 옵션이 작성되지 않으므로 PythonCoreVisual Studio 용 Python 도구와 같은 통합에 Anaconda / Miniconda가 자동으로 표시되지 않습니다. Anaconda / Miniconda 등록 옵션 활성화되어 있으면 기존 Python Windows 레지스트리 키가 변경되고 제거로 인해 복원되지 않을 것으로 생각합니다.

    • WinPython 업데이트는 WinPython 제어판을 통해 처리 할 수 ​​있다고 생각 합니다.
    • PortablePython더 이상 개발되지 않습니다 . 업데이트 방법이 없습니다. 아마도 업데이트는 새로운 디렉토리에 압축을 해제 할 수 있으며, 다음 App\lib\site-packagesApp\Scripts새 설치에 복사 할 수 있지만,이 모든 패키지를 다시 설치 한 후 작동하지 않은 경우 필요한되었을 수 있습니다. pip list설치된 패키지 및 해당 버전을 확인하는 데 사용 하십시오. 일부는 PortablePython에 의해 설치되었습니다. easy_install pippip가 설치되지 않은 경우 설치하는 데 사용하십시오 .
  2. OP에 2.7.x가 있고 다른 버전 ( 예 : <= 2.6.x 또는> = 3.xx)을 설치하려면 다른 버전을 나란히 설치하는 것이 좋습니다. BASH*.py 를 사용하는 경우 다른 경로로 쉘을 설정할 수 있지만 파일과 연관시킬 Python 버전 (있는 경우) 과 경로에서 원하는 버전을 선택해야합니다 . AFAIK 2.7.x는 2.6.x와 역 호환되므로 IMHO 병렬 설치는 필요하지 않지만 Python-3.xx는 역 호환되지 않으므로 Python-2.7을 경로에 배치하고 권장합니다. Python-3은 python3이라는 실행 파일에 대한 바로 가기를 만들어 선택적인 버전입니다 (Linux에서 일반적인 설정 임). Windows의 공식 Python 기본 설치 경로는

    • 3.3.x 용 C : \ Python33 (최신 2013-07-29)
    • 3.2.x의 경우 C : \ Python32
    • &씨.
    • 2.7.x 용 C : \ Python27 (최신 2013-07-29)
    • 2.6.x의 경우 C : \ Python26
    • &씨.
  3. OP가 Python을 업데이트하지 않고 패키지 만 업데이트 하는 경우 개발 프로젝트에 따라 다른 버전의 패키지를 별도로 유지하기 위해 virtualenv 를 조사 할 수 있습니다 . Pip 은 패키지를 업데이트하는 훌륭한 도구이기도합니다. 패키지가 이진 설치 프로그램을 사용하는 경우 새 패키지를 설치하기 전에 일반적으로 이전 패키지를 제거합니다.

이것이 혼란을 없애기를 바랍니다.


답변

가장 좋은 솔루션은 여러 경로에 다른 Python 버전을 설치하는 것입니다.

예. C : \ Python27 (2.7), C : \ Python33 (3.3)

자세한 내용은이 내용을 읽으십시오 : Windows에서 여러 Python 버전을 실행하는 방법


답변

  • 공식 Python .msi 설치 관리자는 다음을 대체하도록 설계되었습니다.

    • 이전의 모든 마이크로 릴리스 ( xyz , z 는 “마이크로”)는 이전 버전과 호환되고 이진 호환 가능하기 때문에 보장됩니다.
    • 마이크로 버전의 “스냅 샷”(소스에서 빌드) 설치
  • 스냅 샷 설치 프로그램은 모든 스냅 샷을 낮은 마이크로 버전으로 대체하도록 설계되었습니다.

( 2.x , 3.x에 대한 책임 코드 참조 )

다른 버전은 반드시 호환되는 것은 아니며 기존 버전과 함께 설치됩니다. 이전 버전을 제거하려면 수동으로 수행해야합니다. 또한 타사 모듈을 제거하십시오.

  • bdist_wininst패키지 (Windows .exes) 에서 모듈을 설치 한 경우 버전을 설치 제거하기 전에 해당 모듈을 설치 제거하십시오. 그렇지 않으면 사용자 정의 로직이있는 경우 설치 제거 프로그램이 올바르게 작동하지 않을 수 있습니다
  • 설치 모듈 setuptools/ pip에이 상주 Lib\site-packages단지 나중에 삭제 될 수 있습니다
  • 사용자별로 설치 한 패키지 (있는 경우)에 상주 %APPDATA%/Python/PythonXY/site-packages하고 마찬가지로 삭제할 수 있는 패키지

답변

나는 항상 새 버전을 맨 위에 설치했으며 아무런 문제가 없었습니다. 그래도 경로가 새 버전을 가리 키도록 업데이트되어 있는지 확인하십시오.


답변