【发布时间】:2017-04-04 18:22:15
【问题描述】:
我已经安装了pyenv 并安装了不同版本的python:
$ pyenv versions
system
2.7.1
3.2.5
3.5.0
3.5.1
* 3.5.2
我使用以下命令切换到python 3.5.2:
pyenv 外壳 3.5.2
当我检查 python 版本时,这就是我得到的:
$ python --version
Python 3.5.2
但是当我运行pytest时,它仍然在python 2.7.6下运行:
pytest -v
==================================================== ================== 测试会话开始 ============================= =========================================
平台 linux2 -- Python 2.7.6、pytest-3.0.3、py-1.4.31、pluggy-0.4.0 -- /usr/bin/python
为什么pytest在老版本下运行?
【问题讨论】:
-
which python和which pytest显示什么?指向的文件是链接还是一些启动器脚本?您也可以尝试hash -r来消除陈旧bash路径缓存的情况。 -
@ivan_pozdeev
which python=>/home/meysam/.pyenv/shims/python-which pytest=>/usr/local/bin/pytest -
从
which中得知python在您的环境中使用python 版本,但是pytest使用全局可用版本,位于/usr/local/...下。要在虚拟环境中运行 Pytest,首先使用python -m pip install pytest安装它,然后运行 python -m pytest。