找不到 Py.test 命令,但已安装库
Posted
技术标签:
【中文标题】找不到 Py.test 命令,但已安装库【英文标题】:Py.test command not found, but library is installed 【发布时间】:2016-06-30 04:01:07 【问题描述】:关于这个话题已经有两篇关于堆栈溢出的帖子了;但是,他们都没有解决或解决我的具体情况。
我已经通过pip install pytest
安装了 pytest。我也可以在 Python 中导入库。
问题是当我尝试在终端中使用py.test
命令时,我得到py.test: command not found
。
有人知道为什么我无法在终端中使用该命令吗?
编辑:它甚至显示为已安装的包:
$ pip list
cycler (0.9.0)
matplotlib (1.5.1)
numpy (1.10.1)
pip (8.1.0)
py (1.4.31)
pyparsing (2.0.7)
pytest (2.9.0)
python-dateutil (2.4.2)
pytz (2015.7)
scipy (0.17.0)
setuptools (7.0)
six (1.10.0)
tensorflow (0.5.0)
vboxapi (1.0)
wheel (0.26.0)
【问题讨论】:
你在使用 virtualenv 吗?如果是这样,pip
(至少是旧版本)将不会安装 py.test
二进制文件,如果它已经安装在系统范围内。您可以改用python -m pytest
。
【参考方案1】:
我遇到了同样的问题,python -m pytest
为我工作。
【讨论】:
这与the accepted answer 中的解决方案相同。 在回答已有答案的旧问题时,请确保提供新颖的解决方案或比现有答案更好的解释。【参考方案2】:就我而言,我在 ubuntu 20.04 中遇到了类似的问题。以下解决方案对我有用。
原因:Shell 记住以前的版本或以前使用过的Path
,因此我们需要强制shell '忘记'旧位置 - 使用-r
hash -r pytest
然后执行它应该可以正常工作的测试。
【讨论】:
【参考方案3】:我遇到了同样的问题。我已将 Python 安装文件夹权限更改为完全访问权限。然后卸载pytest重新安装。
pip 卸载 pytest
【讨论】:
【参考方案4】:使用python -m pytest
将为您工作。
或者,如果您使用虚拟环境并在 virtualenv 上安装了 pytest,那么您应该在虚拟环境旁边运行 py.test。
查看此网站是否有用:http://pythontesting.net/framework/pytest/pytest-introduction/
【讨论】:
-m
是什么意思?
@YanKingYin 重复问题:***.com/questions/50821312/meaning-of-python-m-flag/…【参考方案5】:
我可能迟到了,但在探索这个问题时,我注意到这可能是因为 PATH 中不存在 Python 的 Scripts 文件夹。
对我来说,这是我的脚本文件夹:
C:\Python38\Scripts\
如果路径有问题,那么运行 pip install pytest
是否实际上应该向您发出警告,并显示它被添加到的路径。
这应该存在于路径中。如果在 Windows 上,请将环境变量和此位置编辑到 PATH。
对我来说路径不正确是因为 python 安装不正确
【讨论】:
【参考方案6】:我通过以下步骤解决了这个问题。 1.首先卸载已有的pytest。 2.检查python版本。 3.然后通过github问题跟踪器验证python版本是否支持pytest版本。 4. 通过 sudo 安装 pytest sudo pip install pytest 5.验证pytest版本和安装是否正确。 点子列表 pytest --version
6. 使用 pytest test_abc.py 运行任何测试
【讨论】:
【参考方案7】:我已经在 macOS 上安装了 Homebrew 的 Python 2.7 的最新版本的 pytest,这已修复它:
pip uninstall pytest
pip install pytest
【讨论】:
【参考方案8】:我有同样的问题。我安装了 pytest v2.8.3 并且二进制文件 在 在我的路径上,但名称为 py.test
。升级到 v3.0.3 将常规的 pytest
可执行文件添加到路径中。
【讨论】:
【参考方案9】:你有没有机会在带有自制软件的 Mac 上?
我遇到了同样的问题,它基本上归结为与安装了 mac os 基础的 python 的权限/冲突。 pip install 不会安装或链接东西到 /usr/local/bin (它发生在 virtualenv 和 pytest 中)。
-
我用自制软件 (
brew uninstall python
) 完全卸载了 python 2.7。
接下来,我用 homebrew 重新安装了 python 来修复 pip(它不是 /usr/local/bin/pip 中应该链接到 Cellar 的符号链接) -- brew install python
然后我用 sudo 卸载了 pip -- sudo python -m pip uninstall pip
删除了 root 拥有的 pip
现在我再次使用 homebrew 卸载并重新安装了 python 以重新安装具有正确权限的 pip brew uninstall python && brew install python
接下来我修复了python符号链接brew link python
终于,pip install pytest
成功了! (pip install virtualenv
也是如此)
我发现这篇文章中所选答案中的信息非常有帮助: https://superuser.com/questions/915810/pip-not-working-on-hombrew-python-2-7-install.
如果您不在 Mac 上,请原谅噪音...
【讨论】:
这在 Mac 上对我有用。感谢您的回答。 为我工作 - 谢谢。最近的 disto 升级有很多 Mac 问题以上是关于找不到 Py.test 命令,但已安装库的主要内容,如果未能解决你的问题,请参考以下文章
找不到模块 'babel-core' 但已安装 @babel/core