在新项目目录引入外部程序时,如何解决所有目录导入错误?
问题:克隆第三方Python项目后运行报错找不到core模块
我是编程新手,计划为一个Spotify播放列表下载工具开发Web界面。将项目克隆到自有项目后,运行main.py时出现找不到“core”目录的问题。VS Code提示无法识别该目录定义,但却能识别导入的类,这个现象很奇怪。原程序在项目外单独运行完全正常
导入语句
import argparse import asyncio import time from core.downloader.soundloader.soundloader import SoundLoaderDownloader from core.logger.main import Logger from core.playlist.extractor.spotify.spotify import PlaylistExtractor
错误信息
... File "C:\Users\ppwan\My shit\Giraffe\spotifyv4\giraffe\spotify-playlist-downloader\core\downloader\soundloader\soundloader.py", line 13, in <module> from core.downloader.base import DownloaderBase ModuleNotFoundError: No module named 'core'
已尝试的解决方法
- 给core目录添加
__init__.py文件,无效 - 原程序名称含连字符,克隆后改为下划线引发诸多问题,暂时不敢再修改
- 尝试使用绝对路径导入,Python不支持路径中的连字符,无效
- 考虑用
importlib动态导入,但需要修改所有文件(包括core目录内的文件)的导入语句,耗时太长
请问最佳解决方案是什么?
内容的提问来源于stack exchange,提问作者GeneticallyAugmentedChair
相关产品推荐
相关产品推荐

