2

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 已经有一段时间了。 编辑:我可能升级不正确,这很可能导致此问题。

我安装了 3.4 和 3.5 使用brew.

$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)

--isolated在安装 pytest 时用 pip 尝试过标志:

$ 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 安装正在接受。

任何人都可以对此有所了解吗?谢谢!

4

1 回答 1

1

咳咳。

要运行 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. .virtualenv事后看来,如果 pip 确实将任何内容放在活动目录之外,我会感到惊讶。

总之:

于 2016-04-28T14:12:32.370 回答