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


135

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

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

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

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

(Win7 x64, 32 비트 Python)


1
2.7은 여전히 ​​2.x 시리즈의 최신 버전입니다. 3.x는 이전 버전과 호환되지 않습니다. 현재 2.7 릴리스로 업그레이드하려면 맨 위에 설치하십시오.
Eevee

답변:


106
업데이트 : 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 은 패키지를 업데이트하는 훌륭한 도구이기도합니다. 패키지가 이진 설치 프로그램을 사용하는 경우 새 패키지를 설치하기 전에 일반적으로 이전 패키지를 제거합니다.

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


1
마크, 초보자 질문이 있습니다. 실제로 2.7.x에서 3.3.x로 업그레이드하는 것이 중요하다고 생각하십니까? 파이썬을 사용하기 시작하고 이전 버전을 설치했지만 시작한 이래로 최신 버전을 배우고 싶었습니다 (사소한 차이점이 없다면). 이것에 대한 당신의 전화는 무엇입니까? 당신의 도움을 주셔서 감사합니다.
Matteo

7
나는 둘 다 사용할 것입니다. 당신은 MS 윈도우에있는 경우, 당신은 당신의 루트 폴더에 얻을 것이다 C:\Python27그리고 C:\Python33당신이 맥에 있다면, 당신은 볼 /Library/Frameworks/Python/Versions/2.7.x/Library/Frameworks/Python/Versions/3.3.x당신이 리눅스에 있다면 당신은 아마 이미 모두 설치해야합니다. 전통은 Python-2.7을 사용하고 Python-3.3의 바이너리를 symlink에 연결하는 것 python33입니다. Python2orPython3Python 2 vs Python 3 참조하십시오 . 개인적으로 3.3으로 전환하기에는 너무 게으르다.
Mark Mikofski

2
자세한 답변 감사합니다! 2.7을 사용하면 하나가 32 비트이고 하나가 64 비트 일 때 이전 버전을 설치해도 작동하지 않았습니다. "프로그램 및 기능"에 C : \ Python27을 가리키는 두 개의 항목이 있습니다. 사람들이 32를 32로, 64를 64로 덮어 써야한다는 대답에 기꺼이 대답 하시겠습니까? 감사!
cxw

1
의견을 보내 주셔서 감사합니다. 32와 64를 함께 갖고 싶다면 방법이 있습니다. 아마도 가장 쉬운 방법은 32 비트 버전 의 "관리자"설치C:\Python27_x86명령 행에서 사용하는 것 msiexec /a "python-2.7.11.msi" TARGETDIR="C:\Python27_x86" /qn /l*v python27_x86_install.log입니다. 또 다른 옵션은 source 에서 빌드 하거나 Bootstrap Python을 사용해 보는 것 입니다.
Mark Mikofski

1
MSI 설치 프로그램은 2.7 폴더를 대체 할 것이라고 말하지만 2.7 루트 폴더에 다른 스크립을 저장하면 삭제되지 않습니다.)
XXN

6

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

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

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


이것이 내가하는 방법입니다. 32 비트 및 64 비트 버전의 python 2.7.xx 및 3.5.xx와 IronPython 2.7.xx를 모두 실행합니다. 개발을 위해 Eclipse를 사용하고 디버깅 할 때 파이썬 경로를 선택합니다. 스크립트를 실행할 때 사용하려는 운영체제 버전의 경로를 설정하기 만하면됩니다. 3.5.0을 3.5.3으로 업데이트하면 간단한 설치 옵션이 새 설치에 적용됩니다.
Bill Kidd

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

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

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

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

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

1

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


1
상단에 설치할 때 pygame, bs4, lxml 등과 같은 외부 모듈을 유지합니까?
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.