![](/img/trans.png)
[英]python multiprocessing on windows, if __name__ == “__main__”
[英]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
在两个操作系统上都可以正常工作。 谢谢大家。
您可以看到此扩展程序,以执行最专业的此过程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.