新Mac安装python3和虚拟环境
1、尝试安装python3
brew install python3
zsh: command not found: brew
所以下一步应该是安装brew
2、安装brew提示xcode-select的相关错误
输入如下命令安装brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
提示如下错误
xcode-select: error: invalid developer directory '/Library/Developer/CommandLineTools'
Failed during: /usr/bin/sudo /usr/bin/xcode-select --switch /Library/Developer/CommandLineTools
从报错来看,是说 /Library/Developer/CommandLineTools 不是 xcode-select 的有效路径
那么正常来说要做的就有两件事:
1.找到 xcode-select的有效路径
2.使用有效路径替换 https://raw.githubusercontent.com/Homebrew/install/master/install 文件中的 /Library/Developer/CommandLineTools
使用xcode-select -p 查找有效路径,但是报如下错误
xcode-select: error: unable to get active developer directory, use
sudo xcode-select --switch path/to/Xcode.app
to set one (or see man xcode-select
)根据在网上搜索信息,这个报错是因为没有安装xcode, 所以我们电脑上其实是没有xcode, 所以导致了xcode-select有效路径出错的问题,而并非有效路径出错。所以下一步就是安装xcode。
3、安装xcode
使用 Terminal 运行如下代码安装,默认安装(Command Line Tools)最新版本
xcode-select --install
安装Xcode
4、再次安装brew
输入如下命令安装brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
经过挺长时间的安装后,安装成功,
5、再次安装python3
brew install python3
安装完python3后自动安装好了pip3
6、安装python虚拟环境
由于安装虚拟环境需要用到pip3命令,所以安装之前需要安装好pip3
请参考:Mac 安装 虚拟环境 python virtualenv,其中第一步的pip命令和第三步配置环境变量可以参考本文。
[sudo] pip3 install virtualenv [sudo]可用可不用
pip3 install virtualenv
pip3 install virtualenvwrapper
查看是否安装成功
6.1、配置环境变量
cd ~
vim .bash_profile
使用演示
mkvirtualenv envname02 # 因为我们的virtualenv工具是使用pip3安装的,所以默认是python3的虚拟环境
test__env01使用的是python3创建的,所以该虚拟环境中会有python3的解析器,但是没有python2的解析器。如下图所示,使用workon test_env01激活该环境中,使用which命令分别查看python2和python3的路径,发现python3在该环境目录下,而python2则是系统绝对路径。
同理使用python2创建一个虚拟环境
mkvirtualenv -p python2.7 envname02
test__env02使用的是python2创建的,所以该虚拟环境中会有python2的解析器,但是没有python3的解析器。如下图所示,使用workon test_env02激活该环境中,使用which命令分别查看python2和python3的路径,发现python3是系统绝对路径,而python2则在该环境目录下。
我们能够根据项目的不同版本需要创建不同的虚拟环境。
7、虚拟环境的常用命令操作
参考Mac 安装 虚拟环境 python virtualenv第4-1/4-2/4-3节部分的内容。
8、关于pyenv和virtualenv
其中虚拟环境也可以使用pyenv 来代替virtualenv,它们的区别如下,但是我个人觉得在平常使用过程中两个相差不大。
pyenv 主要用来管理 Python 的版本,比如一个项目需要 Python 2.x ,一个项目需要 Python 3.x 。 而 virtualenv 主要用来管理 Python 包的依赖,不同项目需要依赖的包版本不同,则需要使用虚拟环境。
使用 pyenv 来管理 python 版本,使用 pyenv-virtualenv 插件来管理多版本 python 包。
8.1、pyenv的安装指南
官方:https://github.com/pyenv/pyenv
中文资料:http://einverne.github.io/post/2017/04/pyenv.html
9、venv,另一种创建虚拟环境的方式
通过下面shell 命令也可以很简单的创建一个虚拟环境
python3 -m venv venv# 第一个venv是命令,第二个venv是虚拟环境的名字,这里刚好取名为venv
通过这种方式创建的虚拟环境和virtualenv的使用方式是一样的,激活和退出方式也是一样的。
source bin/activate # 激活并进入虚拟环境
workon envname02 # 进入该虚拟环境
deactivate #退出虚拟环境
10、私有源设置
vim ~/.pip/pip.conf
在文件中添加如下内容
[global]
index-url=https://xx.xxx.xxx/xx
输入完成后保存退出,如果保存退出过程中,报了下面这个错误
原因可能是你的~/.pip目录不存在,查看~/.pip目录是否存在, 发现这个目录确实不存在,那么我们需要先创建~/.pip目录,再去vim ~/.pip/pip.conf添加私有源。