在 Python 项目中,如果模块不在默认的 sys.path 中,会导致 ModuleNotFoundError。例如:
D:\nginx\www\python-admin-backend>python main.py
当前 Python 扫描的包路径列表:
D:\python\python3.10\python310.zip
D:\python\python3.10
D:\python\python3.10\lib\site-packages
Traceback (most recent call last):
File “D:\nginx\www\python-admin-backend\main.py”, line 10, in
from core import config
ModuleNotFoundError: No module named ‘core’
解决方案
第一种
在 D:\python\python3.10\lib\site-packages 中创建 searchmodel.pth 文件,并粘贴以下内容
1 | import site; site.addsitedir("./") |
第二种
在 D:\python\python3.10\lib\site-packages 中创建 sitecustomize.py 文件,并粘贴以下内容
1 | import site |
此时再次执行 python main.py, 就会发现已经不报错了
D:\nginx\www\python-admin-backend>python main.py
当前 Python 扫描的包路径列表:
D:\python\python3.10\python310.zip
D:\python\python3.10
D:\python\python3.10\lib\site-packages
D:\nginx\www\python-admin-backend
?[32mINFO?[0m: Started server process [?[36m9484?[0m]
?[32mINFO?[0m: Waiting for application startup.
?[32mINFO?[0m: Application startup complete.
?[32mINFO?[0m: Uvicorn running on ?[1mhttp://localhost:3000?[0m (Press CTRL+C to quit)