我有python脚本python_proj.py
。只有很少的指纹和简单的功能。它调用一个烧瓶脚本:
os.system("flask run")
烧瓶脚本位于同一个目录中。当我在当前目录中的终端上运行这些文件时,所有操作都正常:
user123@user123:~/PycharmProjects/python_and_bash$ ./python_proj.py
但是,当我在父目录(例如'~'
)中并试图运行以下脚本时:
user123@user123:~$ ./PycharmProjects/python_and_bash/python_proj.py
它不起作用,给了我这个错误:
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
Usage: flask run [OPTIONS]
Error: Could not locate a Flask application. You did not provide the "FLASK_APP" environment variable, and a "wsgi.py" or "app.py" module was not found in the current directory.
该怎么做呢?我需要给非技术伙伴发送这个应用程序。它应该随时随地都起作用。
发布于 2020-11-04 12:54:31
我在我的proj_python.py脚本中添加了这些行。现在起作用了。
path = pathlib.Path(os.path.realpath(__file__))
path = str(path.parent) + "/app.py"
os.system(path)
小心点!别把os.system("flask run")
放在这几行后面!它将导致烧瓶脚本将启动2次!第一次启动将由:os.system(path)
引起,ctrl+c
后或中断信号os.system("flask run")
将再次启动。
发布于 2020-11-02 19:38:12
您可以使用以下代码找到脚本目录的绝对路径:
import pathlib
parent_folder = pathlib.Path(__file__).parent.absolute() # Get the absolute path of parent folder
os.environ['FLASK_APP'] = parent_folder / 'your_flask_app.py' # Set environment variable
os.system("flask run")
https://stackoverflow.com/questions/64651829
复制相似问题