2016-11-03 62 views
0

我在Python中遇到了一些与我的模块有关的问题。我花了一个多小时阅读如何解决问题,但似乎没有任何工作。每当我尝试启动我的服务器,我收到此错误信息:无法找到模块名称 - Python,Flask

没有模块名为home

  1. 我试图建立我的文件夹作为该项目,但认为没了root文件夹解决不了问题。
  2. 我试过Invalidated Caches/Restart的伎俩,但它没有奏效。
  3. 我也尝试删除我的~/.PyCharm2016.2但它没有工作。
  4. 删除.idea文件夹并重新启动PyCharm也没有帮助。

这里是我的文件如何构成的:

flask-blog 
| 
.idea 
.flask_blog 
| | | 
files .home .env 
     |  
    views.py 

它说,只有files包含了我的Python文件的休息,而在home文件夹中,我只放在views.py文件的分公司。

这里是我的代码:

初始化的.py:

from flask import Flask 


app = Flask(__name__) 
app.config.from_object('settings') 

from home import views # This is the import that doesn't work 

manage.py位于根directory

import os, sys 
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) 

from flask.ext.script import Manager, Server 
from flask_blog import app 

manager = Manager(app) 
manager.add_command('runserver', Server(
    use_debugger = True, 
    use_reloader = True, 
    host = "localhost", 
    port = 5000 
    ) 
) 
if __name__ =="__main__": 
    manager.run() 

settings.py代码:

SECRET_KEY = 'jon-skeet' 
DEBUG = True 

views.py文件,位于该文件夹home

from flask_blog import app 

@app.route('/') 
@app.route('/index') 
def index(): 
    return "This error is killing me" 

任何想法如何解决这个问题呢?我也尝试以不同的方式导入views.py文件,但是只要我尝试访问索引页,我就收到404 errors

我对此问题有更新。我在我的主目录中创建了另一个__init__.py文件,并加载了服务器。现在仍然存在的问题是,每当我尝试访问/index目录时,都会收到404错误,这意味着views.py文件未正确加载。

我试图解决我基于这个以前回答的问题,但它仍然无法正常工作。

Previously answered question

+0

尝试在'home'把'__init __。py'文件夹 –

+0

你应该真的使用蓝图 –

+1

我没有得到你的目录设置。为什么有脚本需要将父文件夹附加到路径才能导入本地文件?尽量保持你的图书馆(只有你的图书馆)在一个组织良好的软件包结构中,并将其导入到你的管理脚本中。 – jbndlr

回答

0

几周前我找到了解决方案。如果有人犯了同样的错误,我决定分享。其实很明显,我没有指定哪个是我的应用程序的根文件夹,因此从views.py导入时,我的应用程序无法访问该文件。

最简单的解决方法是右击你的主文件夹,如果你正在使用PyCharm只需点击马克Directory作为>根文件夹

+0

嗨ZombieChowder,我正在经历同样的问题,并做了你所提到的相同,但没有帮助。 – user3341078

+0

@ user3341078作为输出接收到的错误消息是什么? – ZombieChowder

+0

它在pycharm上出现错误。即使错误是在别的地方,它似乎也不是错误的显示错误。该错误消息是导入错误。 – user3341078