我想在OS X 10.11上运行多个Python版本的测试,包括:
我想通过tox
运行测试,因此tox需要能够找到它们。可悲的是,似乎brew不想安装3.4,因为他们添加了3.5,我显然不想删除3.5。
答案 0 :(得分:18)
此blog post建议将pyenv
与所需的detox
一起使用。 brew
的基本设置要求:
brew install pyenv pyenv-virtualenv pyenv-virtualenvwrapper
然后使用pyenv install [version]
安装所需的Python版本,而不是使用brew
安装Python。您可以使用pyenv versions
检查可用版本。
最后,pip install detox
将确保您已安装tox
和detox
。然后,您应该能够在tox.ini
。
答案 1 :(得分:2)
我强烈建议您使用Anaconda
,https://www.continuum.io/downloads等软件包管理器,这样可以轻松安装不同的自包含virtual-envs
。
例如,要创建一个numpy
和Python 2.7
的虚拟环境,这是命令:
conda create --name py2_env numpy python=2.7
然后切换到那个环境:
source activate py2_env
答案 2 :(得分:2)
pyenv
是您想要的东西。效果非常好:
pyenv使您可以轻松地在多个版本的Python之间切换。它简单,简单,遵循UNIX的一站式工具传统,可以很好地完成一件事。该项目是从rbenv和ruby-build派生的,并针对Python进行了修改。
https://github.com/pyenv/pyenv
通过Homebrew安装它:
$ brew update
$ brew install pyenv
它为您处理各种python的下载,编译和安装,例如:
$ pyenv install 3.7.2
它可以显示已安装的版本以及处于活动状态的版本:
$ pyenv versions
system
3.6.7
* 3.7.2
在新项目目录中时,只需告诉pyenv在其中使用哪个python版本:
$ pyenv local 3.6.7 # Because e.g. tensorflow isn't compat. with 3.7 :-(
您可以在其他任何地方设置“默认”版本:
$ pyenv global 3.7.2
答案 3 :(得分:0)
pyenv
就足以使用多个版本的Python。我并不一定需要conda
或brew
。
要使用brew install python@3.8
brew install python@3.9
安装各种版本,请运行以下命令:
/usr/local/opt/python@3.8/bin
/usr/local/opt/python@3.9/bin
在创建虚拟环境时,请使用以下一种方法创建虚拟环境:
/usr/local/bin/python3
在创建虚拟环境时,我会避免使用.some-block {
width: calc( ( 100% / 11 ) - 9.09px );
flex-shrink: 0;
}
.some-block:nth-of-type(5) {
// Will attempt to take the whole width, but its siblings refuse to shrink, so it'll just take every bit of remaining space.
width: 100%;
}
,因为它指向的版本可以更改。
答案 4 :(得分:0)
正如前面的答案也提到的..不需要 pyenv,这对我来说很完美:
brew install python@3.7
brew install python@3.8
brew install python@3.9
然后只需在 ~/.bashrc 中添加相应的版本行
export PATH="$PATH:/usr/local/opt/python@3.7/Frameworks/Python.framework/Versions/3.7/bin"
export PATH="$PATH:/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/bin"
export PATH="$PATH:/usr/local/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/bin"