pytest 想要我们不正确的 python 3 版本
pytest wants to us incorrect python 3 version
pytest 出于某种原因正在寻找 python3.4。
$pytest
-bash: /usr/local/bin/pytest: /usr/local/opt/python3/bin/python3.4: bad interpreter: No such file or directory
我正在使用 OS X,我之前安装了 python3.4,但现在已经使用 python3.5 一段时间了。
编辑:我可能没有正确升级,这很可能导致这个问题。
我使用 brew
安装了 3.4 和 3.5。
$brew list python3
/usr/local/Cellar/python3/3.5.1/bin/2to3-3.5
...etc.
/usr/local/Cellar/python3/3.5.1/bin/python3.5
...etc.
我正在使用带有 python3.5 和 pip3 的虚拟环境。我有以下设置:
$echo $VIRTUALENVWRAPPER_PYTHON
/usr/local/bin/python3.5
$ echo $VIRTUALENVWRAPPER_VIRTUALENV
/usr/local/bin/virtualenv-3.5
Python3 和 pip 工作正常:
$ which python
<blah>/.virtualenvs/<blah>/bin/python
$ python
Python 3.5.1 (default, Dec 26 2015, 18:08:53)
$ pip -V
pip 8.1.1 from /<blah>/.virtualenvs/<blah>/lib/python3.5/site-packages (python 3.5)
我在安装pytest时用pip试过--isolated
标志:
$ pip install -h
...
--isolated Run pip in an isolated mode, ignoring environment variables and user configuration.
过程是这样的:
$ pip install --isolated pytest
Collecting pytest
Using cached pytest-2.9.1-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): py>=1.4.29 in /<blah>/.virtualenvs/<blah>/lib/python3.5/site-packages (from pytest)
Installing collected packages: pytest
Successfully installed pytest-2.9.1
但 pytest 仍在寻找 python3.4.
python3.4 肯定有什么东西,不幸的是 pytest 安装正在使用它。
任何人都可以阐明这一点吗?
谢谢!
咳咳。
为了运行你使用的pytest:
$py.test
而不是
$pytest
pytest
可执行文件 /usr/local/bin/pytest
已有一年多了,我假设是旧安装。
ls -plah /usr/local/bin/pytest
-rwxr-xr-x 1 root admin 154B 15 Apr 2015 /usr/local/bin/pytest
我删除了它并用pip卸载并重新安装了pytest。重新安装不会重新创建 /usr/local/bin/pytest
。事后看来,如果 pip 确实将任何东西放在活动 .virtualenv
目录之外,我会感到惊讶。
总结:
pytest 出于某种原因正在寻找 python3.4。
$pytest
-bash: /usr/local/bin/pytest: /usr/local/opt/python3/bin/python3.4: bad interpreter: No such file or directory
我正在使用 OS X,我之前安装了 python3.4,但现在已经使用 python3.5 一段时间了。 编辑:我可能没有正确升级,这很可能导致这个问题。
我使用 brew
安装了 3.4 和 3.5。
$brew list python3
/usr/local/Cellar/python3/3.5.1/bin/2to3-3.5
...etc.
/usr/local/Cellar/python3/3.5.1/bin/python3.5
...etc.
我正在使用带有 python3.5 和 pip3 的虚拟环境。我有以下设置:
$echo $VIRTUALENVWRAPPER_PYTHON
/usr/local/bin/python3.5
$ echo $VIRTUALENVWRAPPER_VIRTUALENV
/usr/local/bin/virtualenv-3.5
Python3 和 pip 工作正常:
$ which python
<blah>/.virtualenvs/<blah>/bin/python
$ python
Python 3.5.1 (default, Dec 26 2015, 18:08:53)
$ pip -V
pip 8.1.1 from /<blah>/.virtualenvs/<blah>/lib/python3.5/site-packages (python 3.5)
我在安装pytest时用pip试过--isolated
标志:
$ pip install -h
...
--isolated Run pip in an isolated mode, ignoring environment variables and user configuration.
过程是这样的:
$ pip install --isolated pytest
Collecting pytest
Using cached pytest-2.9.1-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): py>=1.4.29 in /<blah>/.virtualenvs/<blah>/lib/python3.5/site-packages (from pytest)
Installing collected packages: pytest
Successfully installed pytest-2.9.1
但 pytest 仍在寻找 python3.4.
python3.4 肯定有什么东西,不幸的是 pytest 安装正在使用它。
任何人都可以阐明这一点吗? 谢谢!
咳咳。
为了运行你使用的pytest:
$py.test
而不是
$pytest
pytest
可执行文件 /usr/local/bin/pytest
已有一年多了,我假设是旧安装。
ls -plah /usr/local/bin/pytest
-rwxr-xr-x 1 root admin 154B 15 Apr 2015 /usr/local/bin/pytest
我删除了它并用pip卸载并重新安装了pytest。重新安装不会重新创建 /usr/local/bin/pytest
。事后看来,如果 pip 确实将任何东西放在活动 .virtualenv
目录之外,我会感到惊讶。
总结: