홈브루를 사용하여 이전 버전의 파이썬 3을 macOS에 설치하려면 어떻게 해야 합니까?
어떻게 하면 brew를 사용하여 macOS에 Python 3의 이전 버전을 설치할 수 있습니까?
을 사용하여brew install python
최신 버전의 Python 3(현재 v3.7.0)을 받았는데, 마지막 버전의 Python 3.6(현재 3.6.5)을 원합니다.
는 다른 패키지에 적이 .pyenv
다른 파이썬 설치를 처리하는 데 도움이 될 수 있지만 이 솔루션은 나에게 적합하지 않습니다.
단답형
Python 3.6.5를 새로 설치하려면 다음을 사용합니다.
brew unlink python # ONLY if you have installed (with brew) another version of python 3
brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb
이전에 설치한 버전을 복구하려면 다음을 수행합니다.
brew info python # To see what you have previously installed
brew switch python 3.x.x_x # Ex. 3.6.5_1
긴 대답
홈브루와하기 위한 은 두 .python@2
그리고.python
.
두 3.
참고: 언급된 웹에서 오래된 답변을 찾을 수 있습니다.python3
Python 버전 3을 설치하기 위한 공식 이름입니다.은 그냥 지은그냥.python
!
기본적으로 이러한 공식을 사용하여 해당하는 주요 버전의 최신 버전의 Python을 설치할 수 있습니다.따라서 3.6과 같은 부 버전은 직접 설치할 수 없습니다.
해결책
와 함께brew
수식의 주소를 사용하여 패키지를 설치할 수 있습니다(예: git 저장소).
brew install https://the/address/to/the/formula/FORMULA_NAME.rb
특히 Python 3의 경우
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/COMMIT_IDENTIFIER/Formula/python.rb
지정해야 하는 주소는 원하는 버전에 대한 공식의 마지막 커밋 주소(python.rb)입니다.homebrew-core/Formula/python.rb에 대한 기록을 보면 commit 식별자를 찾을 수 있습니다.
https://github.com/Homebrew/homebrew-core/commits/master/Formula/python.rb
Python > 3.6.5
위의 링크에서 3.6.5 이상의 Python 버전에 대한 공식을 찾을 수 없습니다.해당 (공식) 저장소의 유지 관리자가 Python 3.7을 릴리스한 후에는 Python 3.7 레시피에 대한 업데이트만 제출합니다.
위에서 설명한 것처럼 홈브루에는 파이썬 2(python@2)와 파이썬 3(python)만 있으며 파이썬 3.6에 대한 명시적인 공식은 없습니다.
이러한 사소한 업데이트는 대부분의 경우와 대부분의 사용자에게 관련이 없지만, 저는 누군가 3.6에 대해 명시적인 공식을 수행했는지 검색할 것입니다.
저는 모든 것을 시도했지만 그것을 할 수 없었습니다.으로 드어사용니다습했디다니▁used습▁have▁finally했용사를 사용했습니다.pyenv
그리고 그것은 마치 부적처럼 직접적으로 작용했습니다.
그래서 가지고 있는homebrew
설치됨, 다음을 수행합니다.
brew install pyenv
pyenv install 3.6.5
가상 환경을 관리하는 방법:
brew install pyenv-virtualenv
pyenv virtualenv 3.6.5 env_name
자세한 내용은 pyenv 및 pyenv-virtualenv를 참조하십시오.
EDIT (2020/03/19)
홈브루보다 pyenv-installer를 사용하여 pyenv 및 pyenv-virtualenv 디렉토리를 설치하는 것이 더 쉽다는 것을 알게 되었습니다.
curl https://pyenv.run | bash
파이썬 버전을 글로벌하게 관리하려면 다음을 수행합니다.
pyenv global 3.6.5
또는 로컬로 지정된 디렉토리에 있습니다.
pyenv local 3.6.5
업데이트로, 실행 시
brew unlink python # If you have installed (with brew) another version of python
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb
만날 수 있습니다.
Error: python contains a recursive dependency on itself:
python depends on sphinx-doc
sphinx-doc depends on python
이를 무시하려면 다음을 추가합니다.--ignore-dependencies
설치를 유도하기 위한 인수입니다.
brew unlink python # If you have installed (with brew) another version of python
brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb
제가 한 일은 먼저 python 3.7을 설치하고 다음 명령을 사용하여 링크를 해제한 것입니다.
brew install python3
brew unlink python
그런 다음 위의 답변에서 가져온 다음 명령을 사용하여 python 3.6.5를 설치했습니다.
brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb --ignore-dependencies
그 후 다음 명령을 실행했습니다.
brew link --overwrite python
이제 시스템에 모든 비단뱀이 있습니다.런을 찾기 위해
mian@tdowrick2~ $ python --version
Python 2.7.10
mian@tdowrick2~ $ python3.7 --version
Python 3.7.1
mian@tdowrick2~ $ python3.6 --version
Python 3.6.5
Python 3.7 가상 환경을 생성합니다.
mian@tdowrick2~ $ virtualenv -p python3.7 env
Already using interpreter /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7
Using base prefix '/Library/Frameworks/Python.framework/Versions/3.7'
New python executable in /Users/mian/env/bin/python3.7
Also creating executable in /Users/mian/env/bin/python
Installing setuptools, pip, wheel...
done.
mian@tdowrick2~ $ source env/bin/activate
(env) mian@tdowrick2~ $ python --version
Python 3.7.1
(env) mian@tdowrick2~ $ deactivate
Python 3.6 가상 환경을 생성하려면 다음과 같이 하십시오.
mian@tdowrick2~ $ virtualenv -p python3.6 env
Running virtualenv with interpreter /usr/local/bin/python3.6
Using base prefix '/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6'
New python executable in /Users/mian/env/bin/python3.6
Not overwriting existing python script /Users/mian/env/bin/python (you must use /Users/mian/env/bin/python3.6)
Installing setuptools, pip, wheel...
done.
mian@tdowrick2~ $ source env/bin/activate
(env) mian@tdowrick2~ $ python --version
Python 3.6.5
(env) mian@tdowrick2~ $ deactivate
저는 파이썬 3.4.4를 설치하기 위해 위의 모든 답변을 시도했습니다.파이썬 설치는 성공했지만 PIP가 설치되지 않았고 제가 할 수 있는 일은 없었습니다.나는 zlib, openssl에 문제를 일으키는 Mac OSX Mojave를 사용하고 있었습니다.
하지 말아야 할 일:
- 공식 Python 또는 Python3에서 지정한 이전 버전에 대해 Homebrew를 사용하지 않도록 하십시오.
- Python 컴파일 시도 안 함
솔루션:
- macOS 64비트 설치 관리자 또는 macOS 64비트/32비트 설치 관리자 다운로드: https://www.python.org/downloads/release/python-365/
- 이전 단계에서 Python 3.6.5를 다운로드합니다. 예를 들어 Python 3.4.4를 다운로드하려면 위의 URL에서 python-365를 python-344로 대체합니다.
- 다운로드 클릭 - 다운로드한 파일을 클릭하면 GUI 설치 관리자가 열립니다.
- 설치 후 파이썬-365를 다운로드하여 이 버전의 파이썬을 시작하면 터미널 파이썬365를 입력합니다. 같은 것이 pip입니다.
p.s: 시스템에서 다른 버전의 Python을 제거할 필요가 없습니다.
편집:
MacOSX, Windows, Linux 등에서 작동하는 훨씬 더 나은 솔루션을 찾았습니다.
- 파이썬을 이미 설치했는지 여부는 중요하지 않습니다.
- 아나콘다 다운로드
- 유형: 설가완료터미유형널면되:
conda init
- 터미널에서 python 버전을 사용하여 가상 환경을 생성합니다. 예를 들어 3.4.4를 선택했습니다.
conda create -n [NameOfYour VirtualEnvironment] python=3.4.4
- 다음 터미널에서 가상 할 수 있습니다.
conda info --envs
- 그런 다음 터미널에서 다음을 사용하여 원하는 가상 환경을 활성화합니다.
conda activate [The name of your virtual environment that was shown with the command at step 5]
아래와 같은 pip 이슈에 직면한 사람이 있는 경우
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
근본 원인은 openssl 1.1이 더 이상 python 3.6을 지원하지 않기 때문입니다.따라서 이전 버전의 openssl 1.0을 설치해야 합니다.
솔루션은 다음과 같습니다.
brew uninstall --ignore-dependencies openssl
brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb
이 문제를 해결하려면homebrew
일시적으로 다시 날짜를 지정할 수 있습니다.homebrew-core
설정합니다.HOMEBREW_NO_AUTO_UPDATE
제자리에 고정할 변수:
cd `brew --repo homebrew/core`
git checkout f2a764ef944b1080be64bd88dca9a1d80130c558
export HOMEBREW_NO_AUTO_UPDATE=1
brew install python
홈브루 코어를 영구적으로 백데이팅하는 것은 권장하지 않습니다. 보안 패치를 놓치기 때문입니다. 하지만 테스트 목적으로 유용합니다.
또한 이전 버전의 홈브루 공식을 사용하여 자체 탭(tap_owner/tap_name)에 추출할 수 있습니다.brew extract
명령:
brew extract python tap_owner/tap_name --version=3.6.5
제가 가장 쉬운 방법은 아나콘다를 설치하는 것이었습니다. https://docs.anaconda.com/anaconda/install/
거기서 저는 원하는 만큼 다른 파이썬 버전의 환경을 만들고 마우스 클릭으로 환경을 전환할 수 있습니다.이보다 더 쉬울 수는 없습니다.
다른 Python 버전을 설치하려면 다음 지침을 따르십시오. https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-python.html
다른 Python 버전의 새로운 개발 환경은 2분 만에 완료되었습니다.그리고 미래에는 쉽게 왔다 갔다 할 수 있습니다.
언급URL : https://stackoverflow.com/questions/51125013/how-can-i-install-a-previous-version-of-python-3-in-macos-using-homebrew
'programing' 카테고리의 다른 글
데이터 압축 알고리즘 (0) | 2023.07.17 |
---|---|
SQL Server에서 트랜잭션을 롤백하거나 커밋하는 방법 (0) | 2023.07.17 |
중첩된 잠금으로 인해 교착 상태가 발생하지 않는 이유는 무엇입니까? (0) | 2023.07.17 |
Git Submodule HEAD가 마스터에서 분리되는 이유는 무엇입니까? (0) | 2023.07.17 |
C/C++ 컴파일러가 컴파일 시 배열의 크기를 알아야 하는 이유는 무엇입니까? (0) | 2023.07.17 |