簡體   English   中英

如何使用__name __ =='__main__'在Linux和Windows上運行python應用程序

[英]how to run python application on Linux and Windows with if __name__== '__main__'

我真的不明白使用if __name__ == '__main__'與僅使文件可執行之間的區別。 我需要確保同一文件將同時在Linux和Windows上運行。 我正在Linux上工作。 我試圖為此使用if __name__ == '__main__ ,但是它不起作用。 任何人都可以建議如何使代碼在Linux和Windows上都能工作。

我的項目結構:

-test(project) -test(folder-python package) -static dir -templates dir -__init__.py -methods.py -views.py -mydatabase.py -runserver.py

這是代碼:

初始化 .py

from flask import Flask
application = Flask(__name__)
application.config.update(DEBUG=True,SECRET_KEY='key')

import view

運行服務器

#!/usr/bin/python
from test import application
application.run()

然后從終端運行

path/to/file/ ./runserver.py

它在Linux上完美運行。 但是我需要將此代碼提供給可能在Windows上使用它的人們。 因此,為確保其正常工作,我嘗試執行以下操作:

我在包內創建了文件runapp.py:

-test(project)
 -test(folder-python package)
   -static dir
   -templates dir
   -__init__.py
   -methods.py
   -views.py
   -mydatabase.py
   -runapp.py

init .py和runserver.py中刪除所有代碼,並將以下代碼放入runapp.py中:

runapp.py

from flask import Flask

application = Flask(__name__)#instance of WSGI application
application.config.update(DEBUG=True,SECRET_KEY='hello123')

import view

if __name__ == '__main__':
    application.run()

在此嘗試從終端運行它之后:

path/to/file python runapp.py

但是出現ImportError:沒有名為flask的模塊

顯然, if __name__=='__main__'我在做錯事或不明白該如何使用

我將非常感謝有關如何使文件同時在Linux和Windows上可執行的建議。

您沒有在需要python的地方安裝flask。 這與名稱主體無關。

if __name__=='__main__' ,則可以將python文件用作模塊和主應用程序文件。 它允許您導入文件以進行測試或重用函數和類。

我找到了問題的答案。

我保留了所有內容(使用init .py,runserver.py),並在Windows上進行了嘗試。在Linux和Windows上運行代碼的唯一區別是:

運行服務器

#!/usr/bin/python
from test import application
application.run()

在Linux上使用chmod + x runserver.py使文件可執行

然后在終端:path / to / file ./runserver.py

在Windows中的cmd中:path / to / file python runserver.py

在兩個操作系統上都可以正常工作。 謝謝大家。

您可以看到此擴展程序,以執行最專業的此過程。

http://flask-script.readthedocs.org/en/latest/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM