Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask应用程序结构中的模块错误_Python_Flask - Fatal编程技术网

Python Flask应用程序结构中的模块错误

Python Flask应用程序结构中的模块错误,python,flask,Python,Flask,您好,我在Windows中工作,正在努力理解如何设置我的flask应用程序,以便可以从命令行运行它。灵感来自。我的实际目录结构如下所示: /yourapplication __init__.py config.py views.py start_server.py /static style.css /templates layout.html

您好,我在Windows中工作,正在努力理解如何设置我的flask应用程序,以便可以从命令行运行它。灵感来自。我的实际目录结构如下所示:

/yourapplication   
        __init__.py
        config.py
        views.py
        start_server.py
        /static
            style.css
        /templates
            layout.html
            index.html
            login.html
我的init.py文件如下

from flask import Flask
app = Flask(__name__)

import yourapplication.views
app.config.from_object('config')
DEBUG=True
from yourapplication import app

if __name__ == "__main__":
     app.run()
因为我有一个init.py,“YourApplication”是一个包,如EclipseIDE中所示

我的config.py文件如下

from flask import Flask
app = Flask(__name__)

import yourapplication.views
app.config.from_object('config')
DEBUG=True
from yourapplication import app

if __name__ == "__main__":
     app.run()
我的setup.py文件如下

from flask import Flask
app = Flask(__name__)

import yourapplication.views
app.config.from_object('config')
DEBUG=True
from yourapplication import app

if __name__ == "__main__":
     app.run()
从设置工具导入设置

setup(
    name='yourapplication',
    packages=['yourapplication'],
    include_package_data=True,
    install_requires=[
        'flask',
    ],
)
我的启动服务器.py文件如下

from flask import Flask
app = Flask(__name__)

import yourapplication.views
app.config.from_object('config')
DEBUG=True
from yourapplication import app

if __name__ == "__main__":
     app.run()
我可以从Eclipse(IDE)运行start_server.py,然后Web服务器启动, 但是当我从Windows命令行cd到“YOURAPPLICATION”文件夹并运行start_server.py时,我得到“ImportError:没有名为YOURAPPLICATION的模块”

  • 我在构建我的应用程序时犯了什么错误
  • 我在组织我的项目时犯了什么错误
  • 如何从命令行运行它
  • 我该如何包装它,使它可以在另一台机器上运行(这台机器不会运行) (有日食)
  • 我正在使用Windows和Python 2.7

    更新一个(根据第一个答案)

    只是为了检查我做得对,我会一步一步地说明我做了什么。我已经进入了你申请表上面的文件夹 那个目录看起来像

    /projects_folder
        /yourapplication
        /folder1
        /myfolder2
    
    从“项目”文件夹(Windows CMD行)中,我完成了以下操作:

    c:\joebloggs\projects_folder>
    
        set FLASK_APP=yourapplication
        set FLASK_ENV=development
        pip install -e .
        flask run
    
    仍然会得到相同的错误。 我真想知道,主干道在哪里?我无法理解启动web应用程序的入口点在哪里。 在我的例子中,我有启动服务器.py。我在EclipseIDE中运行它。setup.py中是否应提及此文件

    仅仅为了测试,我是否不能简单地从命令行运行start_server.py来运行应用程序(也就是说,不执行所有pip安装-eFLASK\u APP=your application之类的操作

    我在构建我的应用程序时犯了什么错误

    你在应用程序结构方面没有犯任何错误。应用程序结构很重要,但不同的项目遵循不同的结构。这并不是说你必须遵循文档中相同的结构

    如何从命令行运行它

    首先,您应该了解Python在调用import?时如何知道在何处查找包。Python导入通过搜索
    sys.path
    sys.path
    中列出的目录来工作。在
    您的应用程序中,path
    列表不会包含自身。如何运行它?不要将cd放入
    您的应用程序中,然后按照运行链接文档中的说明

    我该如何包装它,使它可以在另一台机器上运行(这台机器不会运行) (有日食)

    Eclipse与此无关。遵循相同的打包结构。如果安装了所有依赖项,它应该可以在其他机器上工作