我运行了命令pip install coverage,它似乎已正确安装。
Frodo:Triangle567 tarikkdiry$ pip install coverage
Collecting coverage
Using cached https://files.pythonhosted.org/packages/c7/d0/337673c08f5b0cc7ada3dfe2a998ae8a97d482722045644be3d79bbcbe05/coverage-4.5.1-cp37-cp37m-macosx_10_13_x86_64.whl
Installing collected packages: coverage
Successfully installed coverage-4.5.1
但是,在对一个测试文件进行覆盖后,我收到此错误:
Frodo:Triangle567 tarikkdiry$ coverage run testtriangle.py
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/bin/coverage", line 7, in <module>
from coverage.cmdline import main
ModuleNotFoundError: No module named 'coverage.cmdline'; 'coverage' is not a package
Frodo:Triangle567 tarikkdiry$
我尝试卸载每个python软件包并重新安装,但均未成功。我已经在另一台机器上尝试过了,可以确认测试文件是否正常工作。
编辑:运行pip3后检查覆盖率和pip3显示覆盖率
pip3检查范围:
No broken requirements found.
pip3节目报道
Name: coverage
Version: 4.5.1
Summary: Code coverage measurement for Python
Home-page: https://bitbucket.org/ned/coveragepy
Author: Ned Batchelder and 100 others
Author-email: ned@nedbatchelder.com
License: Apache 2.0
Location: /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages
Requires:
Required-by:
答案 0 :(得分:2)
您应该检查覆盖率是指python还是python3。它很可能使用python
来运行所需的确切工具。 macOS上的默认python版本是python 2.7。
另一种选择是通过运行python3.7 -m venv $directory
(其中$directory
包含虚拟环境的文件夹,您可以根据需要使用直接路径)来创建虚拟环境,然后通过运行{{1 }}。完成此操作后,您将可以轻松找到所需的所有软件包。我个人更喜欢这种方法,而不是将软件包安装到系统中。
此外,您可以从source $directory/bin/activate
或MacPorts
安装python3.7并将其激活为默认python。对于许多库,您也可以使用这些程序包管理器进行安装。
答案 1 :(得分:1)
根据注释,您在当前工作目录中有一个名为coverage.py
的文件。该文件干扰coverage
命令从coverage.cmdline
导入的尝试。您需要将文件重命名为其他名称。
答案 2 :(得分:0)
在使用mingw64(适用于Windows的bash)外壳程序时,在运行pip install coverage
的Windows上遇到此问题。 Pip检测到Linux环境,未包含Windows所需的.exe。
要解决此问题,我运行了pip uninstall coverage
,然后打开了一个管理PowerShell提示符并运行了pip install coverage
。