找不到 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

.netcore类库找不到main函数

使用外部库找不到入口点错误

在redhat linux5.4里 替换动态库后,编译成功,但用ldd查看程序,显示此库找不到

c++文件中jni库找不到报红