Python 3.6.5下pip安装模块失败及ModuleNotFoundError问题求助
解决ModuleNotFoundError: No module named 'cvutils.cvdetector'的问题
嘿,我来帮你搞定这个问题!首先得明确一点:cvutils.cvdetector并不是PyPI(Python官方包仓库)上公开的模块,所以你直接用pip install cvutils.cvdetector肯定找不到它——这就是你看到"Could not find a ver..."错误的原因。下面分几种情况给你解决方案:
情况1:这是项目自己的内部模块
从GitHub下载的源码里,cvutils应该是项目本身的一个子包。你需要先检查项目的目录结构:你的项目文件夹/ ├── cvutils/ │ ├── __init__.py # 这个文件必须存在,Python才会把cvutils当作可导入的包 │ └── cvdetector.py # 里面应该有CvDetector类 └── 你运行的初始脚本.py如果
cvutils里没有__init__.py,新建一个空的就行。另外,确保你是在项目根目录下运行脚本,或者在脚本开头添加代码把项目根目录加入Python的搜索路径:import sys from pathlib import Path # 把当前脚本所在的父目录(项目根目录)添加到sys.path sys.path.append(str(Path(__file__).parent))情况2:这是项目依赖的另一个GitHub仓库
有些项目会依赖未上传到PyPI的GitHub私有/公开仓库。你可以查看项目的requirements.txt文件,里面可能会有类似这样的依赖声明:git+https://github.com/某个用户名/cvutils.git如果是这样,直接执行下面的命令安装:
pip install git+https://github.com/对应用户名/cvutils.git要是没有
requirements.txt,可以看看项目的README文档,通常会说明依赖的安装方式。情况3:试试安装项目本身的依赖
很多GitHub项目会把所有依赖都列在requirements.txt里,你可以直接运行:pip install -r requirements.txt这样会自动安装所有需要的依赖,包括这个
cvutils相关的模块(如果它是依赖的一部分)。
最后提醒一下,你用的Python 3.6.5版本比较老了,有些新的包可能不支持这个版本,如果上面的方法都不行,也可以考虑升级Python到3.8+版本(不过先优先解决模块导入的问题)。
内容的提问来源于stack exchange,提问作者Sumitra




