因为一些缘由,须要用到Python和一些相关的库,因而晚上抽空把本身本本上新建一个环境。而以前因为看到3.7.0的发布,一句
brew upgrade python
更新到 Python 3.7.0。java
整个过程以下:在工做区建了一个Python的虚拟环境,3.x的,安装依赖吧,结果在执行 pip install scikit-learn
的时候,报了一堆错!!!Python版本,是3.x的啊,以前还好好地啊!!第一反应是是否是缺了什么东西,错误信息里这个找不到那个找不到的。而后查错误信息时发现碰到这个问题的几乎是用的Python3.7。接着在scikit-learn 的 issues中发现了pip install fails (compile error) with Python 3.7rc1,算了,仍是退回到上一个版本吧。接下来一不当心手贱把以前的安装记录也所有给干掉了(emmmmm,就当是清理环境了),从新安装吧。。。。。node
经过brew search <name>
来查找是否存在所须要的软件和相应的版本。一般存在多个版本的时候会以<name>@<version>
的形式来提供以前版本的相应的软件,可是很不巧,Python3.6.x的并未单独提供。python
其实这个作法是须要旧的版本存在的状况下才可以生效。可是很不巧,手贱把旧的版本也都删除了。brew switch
的具体操做参考这篇文章:brew管理node的版本。git
到这里就要先说一下 brew 的结构了,安装好的 brew 目录为 /usr/local/Homebrew/
,对应管理工具安装的路径为/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
,其中管理python安装的是Formula/python.rb
,这是一个经过git管理的工程,因此能够将其回退到以前的提交并临时关闭更新来获取所须要的python版本。接下来就是去查找对应的提交并回退,接下来执行如下指令来临时关闭更新,并安装python,安装所需的python版本便可。github
# 设置不自动 update export HOMEBREW_NO_AUTO_UPDATE=1 brew install python