在 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
2
3
import site

site.addsitedir("./")

此时再次执行 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)