通过pyenv在Mac OS X 10.12.3下安装Python-3.6.0及“*** [install] Error 1”错误的解决方法
1.安装Homebrew
通过终端下载并安装Homebrew,在终端输入:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
检测Homebrew是否安装成功,在终端输入:
brew -v
若安装正确,终端中会显示当前安装的Homebrew版本信息:
Homebrew 1.1.9
Homebrew/homebrew-core (git revision 9a2f; last commit 2017-02-07)
2.安装pyenv
通过Homebrew下载并安装pyenv,在终端输入:
brew install pyenv
检测pyenv是否安装成功,在终端输入:
pyenv -v
若安装正确,终端中会显示当前安装的pyenv版本信息:
pyenv 1.0.7
3.安装Python
通过pyenv查看可安装的Python版本,在终端输入:
pyenv install --list
通过pyenv安装所需版本的Python,在终端输入:
pyenv install <version>
以安装Python-3.6.0为例,在终端输入:
pyenv install 3.6.0
通过pyenv查看已安装过的Python版本,在终端输入:
pyenv versions
若安装正确,终端中会显示当前安装的Python版本信息:
注:系统自带版本的Python显示为system,当前正在使用的Python版本前有星号作为标识
* system (set by /Users/caiyutong/.pyenv/version)
3.6.0
4.解决可能会出现的“*** [install] Error 1”错误
注:如果没有出现此错误请跳过此步骤
在执行通过pyenv安装所需版本的Python命令行后,可能会出现以下错误:
zipimport.ZipImportError: can't decompress data; zlib not available make: *** [install] Error 1
下载并安装命令行工具,在终端输入:
xcode-select --install
再次使用pyenv安装所需版本的Python,在终端输入:
pyenv install <version>
以安装Python-3.6.0为例,在终端输入:
pyenv install 3.6.0
通过pyenv查看已安装过的Python版本,在终端输入:
pyenv versions
若安装正确,终端中会显示当前安装的Python版本信息:
注:系统自带版本的Python显示为system,当前正在使用的Python版本前有星号作为标识
* system (set by /Users/caiyutong/.pyenv/version)
3.6.0
5.编辑.bash_profile文件
切换到用户的Home目录,在终端输入:
cd ~
打开.bash_profile文件,在终端输入:
open .bash_profile
若文件不存在,创建.bash_profile文件,在终端输入:
touch .bash_profile
打开并编辑.bash_profile文件,在终端输入:
open -e .bash_profile
在弹出的.bash_profile文件中增加以下内容,并按command + s保存文件:
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
使用更新之后的.bash_profile内容,在终端输入:
source .bash_profile
6.切换全局的python版本
注:此步骤将系统全局的Python版本切换为指定版本,只切换目标目录的Python版本请看步骤7
将全局的Python切换为指定版本,在终端输入:
pyenv global <version>
以切换至Python-3.6.0为例,在终端输入:
pyenv global 3.6.0
检测是否切换成功,在终端输入:
python
若切换成功则显示相应版本Python,退出Python返回终端操作,在“>>>”后输入:
exit(0)
将全局的Python切换回系统自带版本,在终端输入:
pyenv global system
7.切换目标目录的Python版本
注:此步骤将目标目录的Python版本切换为指定版本,需切换系统全局的Python版本请看步骤6
切换到指定的目录,在终端输入:
cd <directory>
以切换至/Users/caiyutong/Documents/workspace for python目录为例,在终端输入:
cd /Users/caiyutong/Documents/"workspace for python"
将当前目录下的Python切换为指定版本,在终端输入:
pyenv local <version>
以切换至Python-3.6.0为例,在终端输入:
pyenv local 3.6.0
检测是否切换成功,在终端输入:
python
若切换成功则显示相应版本Python,退出Python返回终端操作,在“>>>”后输入:
exit(0)
将全局的Python切换回系统自带版本,在终端输入:
pyenv local system
附1:如何正确的在终端操作名称中含有空格的目录
注:若要对有空格的文件夹进行操作的话在文件夹名两边加单引号或双引号,或在文件夹名中的空格前加“\”
将工作目录切换到/Users/caiyutong/Documents/workspace for python下,不可行的方法:
cd /Users/caiyutong/Documents/workspace for python
如果在/Users/caiyutong/Documents目录下创建过workspace目录,则上述操作等同于:
cd /Users/caiyutong/Documents/workspace
如果在/Users/caiyutong/Documents目录下没有创建过workspace目录,则系统提示错误:
-bash: cd: /Users/caiyutong/Documents/workspace: No such file or directory)
可行的办法之一,在含有空格的文件夹名两边加单引号:
cd /Users/caiyutong/Documents/'workspace for python'
可行的办法之二,在含有空格的文件夹名两边加双引号:
cd /Users/caiyutong/Documents/"workspace for python"
可行的办法之三,在在文件夹名中的空格前加反斜杠:
cd /Users/caiyutong/Documents/workspace\ for\ python
附2:关于pyenv的功能
若想要了解pyenv可以进行的操作,可在终端输入:
pyenv help
在终端列举出的pyenv可执行命令如下:
Usage: pyenv <command> [<args>]
Some useful pyenv commands are:
commands List all available pyenv commands
local Set or show the local application-specific Python version
global Set or show the global Python version
shell Set or show the shell-specific Python version
install Install a Python version using python-build
uninstall Uninstall a specific Python version
rehash Rehash pyenv shims (run this after installing executables)
version Show the current Python version and its origin
versions List all Python versions available to pyenv
which Display the full path to an executable
whence List all Python versions that contain the given executable
参考资料1:https://www.zhihu.com/question/53335978
(关于如何下载并使用pyenv安装Python)
参考资料2:https://github.com/yyuu/pyenv/issues/454
(关于如何解决用pyenv安装Python时所遇到的“*** [install] Error 1”错误)
参考资料3:https://zhidao.baidu.com/question/490173412010484492.html
(关于如何在终端正确操作名称中含有空格的目录)
参考资料4:http://www.tuicool.com/articles/EZJRbmB
(关于pyenv help)