OSX上的Python:force py.test不使用系统版本的Python

OSX上的Python:force py.test不使用系统版本的Python,python,macos,opencv,Python,Macos,Opencv,我有10.11OSX,它安装了python,就像所有其他OSX版本一样 /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 虽然当我运行哪个python时,我得到了/usr/local/bin/python,它是到的一个符号链接。/ceral/python/2.7.13_2/bin/python 到目前为止还不错;我确实通过Brew安装了python,以使用virtualenv,它可以按照以下说明正常工作

我有10.11OSX,它安装了python,就像所有其他OSX版本一样

/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
虽然当我运行
哪个python
时,我得到了
/usr/local/bin/python
,它是到
的一个符号链接。/ceral/python/2.7.13_2/bin/python

到目前为止还不错;我确实通过Brew安装了python,以使用virtualenv,它可以按照以下说明正常工作:

虽然我不想使用virtualenv,因为我使用的是py.test,但是py.test由于某种原因被迫使用系统python,而不是usr/local/bin/symlink


如何强制py.test不使用系统版本的python?我确实尝试通过添加符号链接位置来更改PYTHONPATH,但没有成功

选择所需python版本的
bin
目录的路径,并将其放在路径的第一位:

PATH=/usr/local/ceral/python/2.7.13/Frameworks/python.framework/Versions/2.7/bin:$PATH
编辑您的
~/.bashrc
~/.bash_配置文件
~/.profile
或诸如此类,以确保
python
目录路径在
路径
中位于其他
python
版本的
bin
目录的任何其他路径之前


或者干脆从
PATH
中删除其他
python
版本的
bin
dir。

为什么不想使用virtualenv?这可能是最简单、最干净的方法。一开始可能有点尴尬,但它给了你很大的灵活性…virtualenv是一个额外的设置;在流程中添加的元素越多,出错的可能性就越大。Virtualenv很适合测试流程,但老实说,我不会在日常活动中依赖它,在运行完整性测试时更不用说了。从长远来看,你可能会发现使用Virtualenv是值得的,特别是如果你在计算机上编写多个程序……非常有魅力,谢谢!我假设我可以使用相同的原则在我的OSX系统上完全淘汰现有的Python版本,只使用我从Brew获得的版本。计划最终迁移到3.0,因此很高兴知道我可以更改路径顺序,并能够指定将使用哪个版本。很高兴听到您的工作正常,是的,您的环境设置为使用您想要的特定Python运行时,其他安装的Python将被忽略。