解决python3在项目目录下找不到包(No module named 'views')

如题所述

第1个回答  2022-07-02
一、首先看看目录的结构:

二、我在search.py中导入views包下的production.py和search.py,运行search.py的时候直接报错找不到views包,其实问题就在于包的搜索路径,因为是在flaskr这个目录下运行的,打印出来的包搜索路径为(['/project/my_flask_project/flaskr', '/usr/local/python3/lib/python36.zip', '/usr/local/python3/lib/python3.6', '/usr/local/python3/lib/python3.6/lib-dynload', '/usr/local/python3/lib/python3.6/site-packages']),解释器会把/project/my_flask_project/flaskr加入导搜索路径,自然导包的时候,也会在这个路径下搜索,找不到就报错。

三、所以,知道问题所在了,只需要把这个项目的路径加入到搜索路径即可

sys.path.append(os.path.abspath('..')) 

这个操作是把当前目录的上一级目录添加到包搜索路径中,这样问题就解决了
相似回答