VSCode/PySide中无法从其他文件导入模块的问题求助
解决ModuleNotFoundError: No module named 'Application_Login'
方案1:从项目根目录以模块方式运行
- 打开终端,切换到项目根目录
Pyside6_Sample_Application:
cd f:/VScode/Pyside6_Sample_Application
- 用模块方式运行login.py:
python -m Application_Login.login
这种方式会自动把项目根目录加入Python的模块搜索路径,让Python能识别Application_Login作为顶级模块。
方案2:改用相对导入(需配合模块方式运行)
修改login.py中的导入语句为相对路径,指向当前目录的子模块:
from .UI.login_window import Ui_w_LoginForm
修改后,仍需按照方案1的方式从项目根目录运行,不能直接双击或用绝对路径运行login.py(否则相对导入会在__main__模块中失效报错)。
方案3:手动添加项目根目录到搜索路径
在login.py的最开头添加以下代码,强制将项目根目录加入Python的模块搜索路径:
import sys import os # 获取当前脚本的绝对路径,向上一级定位到项目根目录 project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) if project_root not in sys.path: sys.path.append(project_root)
添加后可保留原导入语句,且无论从哪个目录运行login.py都能正常导入模块。
内容的提问来源于stack exchange,提问作者Blood
相关产品推荐
相关产品推荐

