如何使用brew在macOS中安装Python 3的早期版本?
使用命令unordered_map
,我获得了最新版本的Python 3(当前为v3.7.0),但是我想要的是最新版本的Python 3.6(当前为3.6.5)。
我已阅读了有关另一个软件包brew install python
的信息,该软件包可以协助处理不同的python安装,但是此解决方案不适合我。
答案 0 :(得分:195)
要干净安装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
有两个使用Homebrew安装Python的公式:python@2
和python
。
第一个用于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
的历史记录来找到commint标识符https://github.com/Homebrew/homebrew-core/commits/master/Formula/python.rb
在上面的链接中,您不会找到3.6.5以上版本的Python的公式。 该(官方)存储库的维护者发布Python 3.7之后,他们仅提交对Python 3.7配方的更新。
如上所述,对于自制软件,您只有Python 2(python @ 2)和Python 3(python), Python 3.6没有明确的公式。
尽管那些较小的更新在大多数情况下以及对于大多数用户而言都是无关紧要的,但我将搜索是否有人对3.6做过明确的公式。
答案 1 :(得分:29)
作为更新,当做
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 install。
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
答案 2 :(得分:14)
我已经尝试了所有方法,但无法使其正常工作。最终,我使用了pyenv
,它像魅力一样直接工作。
因此,安装homebrew
即可:
brew install pyenv
pyenv install 3.6.5
管理virtualenvs:
brew install pyenv-virtualenv
pyenv virtualenv 3.6.5 env_name
有关更多信息,请参见pyenv和pyenv-virtualenv。
我发现使用pyenv-installer比自制软件更容易安装pyenv和pyenv-virtualenv dirclty:
curl https://pyenv.run | bash
要全局管理python版本:
pyenv global 3.6.5
或在给定目录中的本地
pyenv local 3.6.5
答案 3 :(得分:11)
我要做的是首先安装了python 3.7
import {A} from './a.ts'
然后我使用上面的链接安装了python 3.6.5
b.ts
此后,我运行了import {b} from './b.ts'
。现在,我在系统中拥有所有的python来创建虚拟环境。
a.ts
创建Python 3.7虚拟环境。
File f = FileUtils.fileFromAsset(this, "filename.pdf");
PdfReader pdfReader = new PdfReader(f.getPath());
创建Python 3.6虚拟环境
task watch {
inputs.files 'src/main'
doLast {
compileKotlin2Js.execute()
}
}
答案 4 :(得分:7)
万一任何人遇到如下所示的点子问题
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
答案 5 :(得分:0)
要使用homebrew
解决此问题,您可以暂时回溯homebrew-core
并设置HOMEBREW_NO_AUTO_UPDATE
变量以将其保留在适当的位置:
cd `brew --repo homebrew/core`
git checkout f2a764ef944b1080be64bd88dca9a1d80130c558
export HOMEBREW_NO_AUTO_UPDATE=1
brew install python
我不建议永久回溯自制内核的日期,因为您会错过安全补丁,但这对测试很有用。
您还可以使用brew extract
命令将旧版本的自制程序公式提取到自己的水龙头(tap_owner / tap_name)中:
brew extract python tap_owner/tap_name --version=3.6.5
答案 6 :(得分:0)
我尝试了以上所有答案来安装Python 3.4.4。 python的安装有效,但是PIP无法安装,我无能为力。我使用的是Mac OSX Mojave,这会导致zlib,openssl出现一些问题。
不执行的操作
:解决方案:
p.s:您不必在系统上卸载其他版本的Python。
答案 7 :(得分:0)
对我来说,最简单的方法是安装Anaconda:https://docs.anaconda.com/anaconda/install/
我可以在其中创建任意数量的具有不同Python版本的环境,然后单击鼠标即可在它们之间切换。再简单不过了。
要安装其他Python版本,请遵循以下说明https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-python.html
在2分钟内完成了具有不同Python版本的新开发环境。将来我可以轻松地来回切换。