You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用setup.py安装pip包后出现ModuleNotFoundError问题求助

解决spoti命令抛出的ModuleNotFoundError问题

这个错误的根源在于你的clifi.py文件里使用了错误的模块导入方式。当包被pip安装后,Python会将spotidnldr识别为一个顶级包,而你在clifi.py里直接用from env_setup import *这种写法时,Python会在全局模块路径里查找env_setup,而不是在spotidnldr包内部定位模块,所以才会抛出找不到模块的错误。

修复方案(二选一即可)

方案1:使用相对导入

修改clifi.py里所有同目录模块的导入语句,在模块名前加上.,表示从当前包目录导入:

# clifi.py 里的导入部分
from .env_setup import *
from .converter import *
from .cover_download import *
from .downloader import *
from .env_checker import *
from .spot import *
from .tag_embedder import *
from .youtube_search import *

方案2:使用完整包路径导入

直接使用包名+模块名的方式导入,明确指定模块属于spotidnldr包:

# clifi.py 里的导入部分
from spotidnldr.env_setup import *
from spotidnldr.converter import *
from spotidnldr.cover_download import *
from spotidnldr.downloader import *
from spotidnldr.env_checker import *
from spotidnldr.spot import *
from spotidnldr.tag_embedder import *
from spotidnldr.youtube_search import *

后续验证步骤

修改完导入语句后,需要重新升级安装你的包,确保修改生效:

pip install --upgrade .

之后再运行spoti命令,应该就能正常执行了。

内容的提问来源于stack exchange,提问作者Rohit Patil

火山引擎 最新活动