易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 4|回复: 4
收起左侧

pycharm调试flask自动启动程序的配置app.py程序

[复制链接]
发表于 2024-5-28 11:30:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
首先引入项目找到右上角 test_flask >  Edit Configurations 6 E1 l  @5 Q  S: B
弹出对话框:$ \, v; e; |2 ]" a! Z
# L% b/ K$ ^: d, [" S" o
左上角的+号。选择python
( \1 {8 g4 v6 x
5 c+ u4 s, p: K( B3 U/ c弹出对话框:
5 N2 t  m7 n: g2 e1 L7 E, a4 z" A9 c% j8 h7 j% c  K" X3 {5 Q
修改Name 为项目名称:   test_flask
- |1 I% l2 f! l! V8 s      configuration:   / Y2 z. B" z2 S8 R
        第一个倒三角符号区,选择Module name      后面框中输入: flask
0 Y! `, b" \5 s              接下来设置Parameters   run -h 0.0.0.0 -p 8080
& P( f9 s. D; i+ ?6 z: I9 R' w- X& J
    第二个倒三角:  Environment $ X: P( [$ X4 t; k% o
           Environment variables:    后面的像test的文件的图标,点击配置,弹出对话框:
/ }0 |4 w* C! ~                            Name  写上FLASK_APP    value值 app.py   
  d; m. E) E  y" K! k4 ]+ x0 P                             Name 写上 FLASK_ENV    value值 development      
% t- ^+ v  t& v8 \4 r            点击ok保存即可,返回上级页面:
( g* }3 ]; l- i0 Q* |          Python interpreter 选择我们安装的python解释器
( y$ Q" @2 O5 \' `. o1 t
4 Q. O7 K$ z" t. q0 X          为了防止后面访问出现问题  我们需要配置  Working directory   :  C:\Users\admin\Desktop\test_flask. m' Q9 d0 v" C
           勾选上下面两个对话框即可。  
6 z' P$ t$ j% K2 ?  点击ok保存即可
7 l. Y) `7 s# c% v* b9 `/ R2 v5 N6 v# M# l: B8 B! Z

( v$ O) T6 ^& n' K+ N: q* `4 w  l: F3 g3 C
因程序调不到python的flask插件:
6 l" h+ H" H" _      配置如下:
9 m) o% V: F+ q% u8 y* k    点击左上角file选择settings  
  h0 {, F! T! D弹出对话框,选择Project: test_flask
! @, |/ S4 X  r7 @: C       出现我们的env环境. `3 t% f- p# s; U# t
     需要的包如下:7 i# [+ W1 G" Q0 P8 y; [0 H
     Click         7.05 I$ {2 M+ @& l+ L' w6 f: x: o
     Flask        1.1.27 l  [3 @# ?1 ^
     Jinjia2      2.11.2- F4 C- `# M+ R
     MarkupSafe   2.0.0$ \3 D" @- O# |( L
     Werkzeug       1.0.0! ~! s# U+ a# l/ W, m  z- W
     itsdangerous   1.1.0
/ d0 ~! C5 X8 O6 \. |: e" Q. j$ ~     pip                20.0.26 E, z% y! k' U
     setuptools      45.2.0
; F) s8 x+ M- t% n/ C    wheel            0.34.2/ K5 ~( w, \  f" \% a

- B! I6 W$ g+ T5 v/ _; c+ O以上插件是当前测试成功的环境变量需要的包。
& G, u) X) K4 {5 P测试:
- ?- K$ u: u* m/ H+ j' W) \
  g- j6 s* S# R6 H1 J/ e- yfrom flask import Flask
* E  p) T( O+ |5 K# p' o  r% W& t# 用当前脚本名称实例化Flask对象,方便flask从该脚本文件中获取需要的内容) c: x0 s  ]! z7 g3 h: A, ?
app = Flask(__name__)6 c. ^6 ?7 o5 G2 I

& \: g* a. x/ U( f( R% I#methods参数用于指定允许的请求格式( @. g* s- b7 A3 P' N+ N0 j! b, Q9 a
#常规输入url的访问就是get方法
" s! X, x2 G- `8 K2 g@app.route('/')  M1 Q/ h8 m1 _
def Hello_World():+ X+ S  O; c' S1 u
     '''视图函数'''; Q2 f2 T  e7 h% `6 F. V, ?
     return 'Hello_World,sucesess'% d: @% J: \. O& U3 n
#注意路由路径不要重名,映射的视图函数也不要重名
9 Y2 n/ C( k/ [' C& v6 M9 M
4 h' V' M6 @# `/ y5 H, _( ?###v1.0之后的版本,不推荐的写法
; N$ d" L! h1 J7 `- X# if __name__ == '__main__':  }) q% ~" \' N: E( m3 D! J
#    app.run()% y- e5 P% H7 H+ a  q, Y# e. m9 C

$ r+ ?7 j/ P) [- K+ U9 H/ D# p! v# n4 Q/ p& s5 b$ c2 i

, ^  z( t/ C+ E, Gpython.exe -m flask run -h 0.0.0.0 -p 80( |" q6 l+ O$ v4 A. }; @
* Serving Flask app "app.py" (lazy loading)
4 Q. X" M: |! f4 v0 i * Environment: development6 v. c3 ~6 z" V; I8 L
* Debug mode: on
2 p% Y' Y7 w$ |1 U) J9 Y" D' S * Restarting with stat
5 R/ o6 T1 c$ z) y% u- K# C: N * Debugger is active!) F" w8 [0 ~' m; d' u
* Debugger PIN: 215-100-437: H1 o& x% D; v# n; U3 x4 v
* Running on http://0.0.0.0:80/ (Press CTRL+C to quit)
1 E+ k- Y6 g! C' z" }( I0 R
; v; Z$ ]/ t& k9 q; T& q$ T
1 P2 n: E5 O( I; g( u( S
! Z! y9 \4 F2 \) M$ P( _! \) B0 B9 r1 o" u
浏览器访问结果:3 D7 e: V) w+ n2 b4 e
4 U" m; H/ i0 ^# O4 ]
http://127.0.0.1/
7 s* |1 P2 M7 a- {8 k9 H5 \" X+ E* q  o
Hello_World,sucesess& O, y& _$ s3 @& y
  r: o# _' _$ Y' U( Y9 y" q4 D
测试正常。
' _- d9 K  N2 p- H3 E/ U8 }' e( K
9 _# l. @. Z$ V: b
否则就报这个错误:) P* L/ T0 g5 M7 B& M+ [$ d
modulenotfounderror: no module named 'app': M8 r  d% v  A) D
等报错。% f7 @2 ?4 ?! H6 ^" s- X

  _( W- a, X# k! Y/ S: x  @成功之后,不配置
3 @; `* x7 b5 ] 我们需要配置  Working directory   :  C:\Users\admin\Desktop\test_flask
5 r: g" g" s2 y: a8 z2 ?           勾选上下面两个对话框即可。  
6 ^9 l" q& `$ S9 O7 ?, a
2 I- m; V2 d8 h* _& ^8 V0 I这个也可以成功了。是因为引入了该变量了。
( {& V% U( U- p" h. |! }
, b4 o' i) P- h) x8 n, T4 J
/ B- C4 I# V9 G( F: H0 C
' [$ Q1 _  t0 B4 x7 w8 a) N+ ?% f: g: e2 E! u4 S
) I- P/ I# p6 U6 v2 h$ V
 楼主| 发表于 2024-5-28 13:56:24 | 显示全部楼层
访问报错信息:. E( a- Z- F( S
flask.cli.NoAppException% {1 V# V9 R8 z, D: Y
4 y  K$ H5 y$ _/ b' B
flask.cli.NoAppException: Could not import "app".
# ^0 Q& m2 y, p  c; {0 n6 `Traceback (most recent call last)
: o7 E) j+ N$ Y# z: }) [
  ~$ R5 M8 r; b6 T* U: q    File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 240, in locate_app
. ?. H7 m# A. z2 q1 I9 Q
* X9 `/ T7 j9 X0 j0 n    __import__(module_name)" g7 g) ^4 V8 r; Q2 }* [1 d# L
1 Z( T7 u4 ?: A/ q8 l5 W7 N* X- `
    During handling of the above exception, another exception occurred:. e! h1 ]2 M0 o2 D2 q* v: U
    File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 338, in __call__9 G/ `$ T0 }8 {. d% m& q

1 j  s  y/ ]1 O    self._flush_bg_loading_exception()- s0 D' g) c, E% ?& [: e

0 r2 a9 {1 G  m5 |7 h5 L1 g1 H8 T5 V    File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 326, in _flush_bg_loading_exception
6 @7 P  F* j3 ~" ]9 S- K$ ~, i! x. ^! j9 ]  G" I3 ?# o, p
    reraise(*exc_info)& V5 g! ]8 W6 V$ |
- ?. ]  C' s" n, Z8 H
    File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\_compat.py", line 39, in reraise0 T5 m# a5 R8 t8 x

( Y* t, f- `- }: X* B    raise value! B; Y" A! C9 O6 U8 e& N2 {) G! E" q

/ h& @6 e2 `8 y5 C    File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 314, in _load_app5 Z# }$ V5 |) H
5 r7 x  _  [* v0 r
    self._load_unlocked()* v0 a. O+ r- H6 k

) @2 D0 A8 U/ k1 [( j. z- `9 v* ~6 C3 ~    File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 330, in _load_unlocked
" ?( @8 n7 {$ x& e, J: Y9 i
' |% {2 o9 I' B" |# c, j6 g9 S& W6 g' G    self._app = rv = self.loader()
& y7 a% j1 _: x. r; y- ]: J
1 n7 E6 d  f! K3 K    File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 388, in load_app
1 A" F) u5 M0 e. S# _0 P1 G/ B) e
8 V+ q/ v+ _* d4 f    app = locate_app(self, import_name, name)
7 S) ?6 [& v9 w0 ?! d9 s8 V. d& E* [8 Z4 h6 {" }
    File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 250, in locate_app
3 K/ W3 l9 [# G* x, A4 W5 \, J/ K9 K1 x2 F" c
    raise NoAppException('Could not import "{name}".'.format(name=module_name))
2 ]  i6 R; V3 P6 O4 \5 D
$ _+ X! X+ V) i8 _/ S6 N    flask.cli.NoAppException: Could not import "app".% Z; R$ p( u$ J+ p

# G# ^2 j+ N& s# ^3 u$ PThe debugger caught an exception in your WSGI application. You can now look at the traceback which led to the error.
- n! b8 X' k, r4 _
9 j1 f7 m/ K! m  B7 G5 c/ f8 kTo switch between the interactive traceback and the plaintext one, you can click on the "Traceback" headline. From the text traceback you can also create a paste of it. For code execution mouse-over the frame you want to debug and click on the console icon on the right side.
/ L0 K0 h2 k( o; o, f7 }+ p
2 S3 F+ j6 X, K, @You can execute arbitrary Python code in the stack frames and there are some extra helpers available for introspection:+ W+ X& a( k! ]3 i
0 Q) S- I  Z, }
    dump() shows all variables in the frame. ~$ \; M) G$ |0 e
    dump(obj) dumps all that's known about the object3 c% y: C/ s' y. x* M4 ?

, w, H3 X0 t% B! s* @" @  h( B
 楼主| 发表于 2024-5-28 13:57:16 | 显示全部楼层
C:\Users\admin\Desktop\test_flask\venv\Scripts\python.exe -m flask run -h 0.0.0.0 -p 8080. c  H. C4 Y" S6 N% ?( K0 |! S+ z# z
* Serving Flask app "app.py" (lazy loading)3 r9 m# |* y/ e
* Environment: development
7 r% r7 @9 C* R) D- m * Debug mode: on
6 ?1 k# c' h1 F4 D6 L* `0 O; p * Restarting with stat
& w; O( ~. U+ L# I( j8 p1 w1 Y1 C * Debugger is active!: Y; Q- m2 D1 a9 F( F
* Debugger PIN: 215-100-437
9 Y- o2 ^# j8 V * Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)( @' D$ w% p# V8 }, `' H
127.0.0.1 - - [28/May/2024 13:56:09] "GET / HTTP/1.1" 500 -& u9 F, [3 {1 ]  g6 `& \
Traceback (most recent call last):
. s0 m* a4 x+ o3 m/ C* }% h$ D" r  File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 240, in locate_app5 ^: w3 b$ X0 e; b+ G5 @7 J( f
    __import__(module_name)
+ L. P3 e9 `* }" _/ P2 f3 KModuleNotFoundError: No module named 'app', B: c# h! i" W- C  \: v

1 S5 O3 w* R, d8 M% ~+ QDuring handling of the above exception, another exception occurred:
. Z  L- X/ l. K' }! W" ^* O$ ?
) ^* {7 U4 K5 ~2 c3 S; P. J: x5 jTraceback (most recent call last):
/ f$ ~  {5 g+ U1 o0 y1 R; }/ s  File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 338, in __call__: B( i9 G7 n5 u( m# @' z
    self._flush_bg_loading_exception()
0 b  I  }0 t* K& L5 G  File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 326, in _flush_bg_loading_exception
$ T4 _1 p2 j& B# L' \    reraise(*exc_info)
6 l% M1 c# [' {6 r  File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\_compat.py", line 39, in reraise
9 H/ G/ S1 Y  T. l    raise value# A9 s% j2 Y2 L* I
  File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 314, in _load_app; J9 j" @! P- D  e7 h- F
    self._load_unlocked()
( S( u4 G0 B" m; n" U  File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 330, in _load_unlocked
$ Q2 m' s. Y" d    self._app = rv = self.loader()
2 {# @! a* y9 D  File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 388, in load_app0 b% L( M; {4 y( r! |" ~  F& e! o
    app = locate_app(self, import_name, name)
7 D1 S2 c- B* z5 I, P* O' I7 K  File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 250, in locate_app* \2 p! R+ ~& a* u3 m' f
    raise NoAppException('Could not import "{name}".'.format(name=module_name))6 F$ O1 k5 S' g
flask.cli.NoAppException: Could not import "app".; s$ c3 D- j6 F
127.0.0.1 - - [28/May/2024 13:56:09] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 -$ @' g" ^7 n4 D
127.0.0.1 - - [28/May/2024 13:56:09] "GET /?__debugger__=yes&cmd=resource&f=jquery.js HTTP/1.1" 200 -6 J4 v6 d; `) P7 N0 R
127.0.0.1 - - [28/May/2024 13:56:09] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 -
3 y8 Z  }8 W( O) U' h* G( C127.0.0.1 - - [28/May/2024 13:56:09] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 -
  U! Q5 R0 C1 y- x127.0.0.1 - - [28/May/2024 13:56:09] "GET /?__debugger__=yes&cmd=resource&f=ubuntu.ttf HTTP/1.1" 200 -
& ?4 |4 C7 s! w3 u' p, C4 p2 ]$ I127.0.0.1 - - [28/May/2024 13:56:09] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 -
 楼主| 发表于 2024-5-28 14:02:17 | 显示全部楼层
修改 Run/Debug Configuration  配置
/ D6 q/ a3 [" \! h5 V6 C; a( t; ?1 J; j6 S" v
    修改Working directory:   c:\Users\admin\Desktop\test_flask8 |' x7 p! j, R0 f0 _
     勾选Add content roots to ...  两个都勾上。
; Z/ D# ~- o: K
; N/ i% J" t5 v+ j保存配置。点击ok和Apply   应用
% P; K* Z9 i# ?6 N% [3 p7 g# Q. e! A. I+ S6 ^  {1 U5 j
; w$ w" A& u: Z/ B3 A( a- S9 n! x
重启服务:
4 F4 s) }+ g9 g& n2 A7 vC:\Users\admin\Desktop\test_flask\venv\Scripts\python.exe -m flask run -h 0.0.0.0 -p 8080
+ Z- l* m- }/ `$ I0 |6 s( t5 ?$ v * Serving Flask app "app.py" (lazy loading)( k& j* k8 f4 h% @* v; e
* Environment: development
' {& x; o& U1 n7 z/ r( \2 ~ * Debug mode: on9 k( d) n. {3 W3 z7 X( r
* Restarting with stat( |8 [5 e4 D3 W4 Y1 x
* Debugger is active!( F& D2 m& B3 l% ?0 R
* Debugger PIN: 215-100-437' \. \6 G$ F* R2 ~3 M6 I! @( e1 ^
* Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)3 J$ o$ V1 x* {6 q( C6 @

9 C5 \( l' B6 O! V访问:/ [4 P) u; x, `/ X9 r7 n  }4 s
3 C% [4 L, V+ r, q
http://127.0.0.1:8080
1 D9 V6 j! E2 h% pHello_World,sucesess  A9 @+ r* S( k8 U5 r
2 x  X5 D$ e6 h" P4 _5 \
服务端返回值:
- W' P9 q  U- @/ u127.0.0.1 - - [28/May/2024 13:58:12] "GET / HTTP/1.1" 200 -
% U7 }2 R* ^* {& R127.0.0.1 - - [28/May/2024 13:58:12] "GET /favicon.ico HTTP/1.1" 404 -
- c' J0 i2 O7 t! r7 R9 X5 j+ j127.0.0.1 - - [28/May/2024 14:04:05] "GET / HTTP/1.1" 200 -
+ m$ S: A& x; W: ?! |127.0.0.1 - - [28/May/2024 14:04:06] "GET / HTTP/1.1" 200 -
4 O9 y5 T& X. u127.0.0.1 - - [28/May/2024 14:04:07] "GET / HTTP/1.1" 200 -
' j7 c5 H$ }8 v' @9 ^+ ?" n127.0.0.1 - - [28/May/2024 14:04:07] "GET / HTTP/1.1" 200 -
1 w1 C% f1 x+ _& T+ M127.0.0.1 - - [28/May/2024 14:04:07] "GET / HTTP/1.1" 200 -
: I3 R9 _6 }7 E% d$ ?# ~7 O  J2 Y0 ~; B4 o; X* H

9 Y8 o, Z) M6 ?$ p. o
- Z- P/ l5 i* P/ M
 楼主| 发表于 2024-5-28 14:10:09 | 显示全部楼层
* Detected change in 'C:\\Users\\admin\\Desktop\\test_flask\\app.py', reloading
% Q" T" C) v8 g. N( _5 ` * Restarting with stat
: m' D4 E7 G4 [8 u$ i% w * Debugger is active!1 }$ a9 z4 U9 [: p- O/ z' H9 Y+ o
* Debugger PIN: 215-100-437
0 ~- n* J8 h" L' W1 d * Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)  D/ Q4 I0 E6 O4 A3 H2 f
127.0.0.1 - - [28/May/2024 14:09:42] "GET /index HTTP/1.1" 200 -+ l% Q9 F' r7 X" _' L( g
127.0.0.1 - - [28/May/2024 14:09:45] "GET /index HTTP/1.1" 200 -! H3 P2 O3 J* W$ @( Y
127.0.0.1 - - [28/May/2024 14:09:47] "GET /index HTTP/1.1" 200 -+ f, w! D: \7 q7 S* P
127.0.0.1 - - [28/May/2024 14:09:47] "GET /index HTTP/1.1" 200 -  Q2 D' h( y: u8 }* `+ S) Z  ~
127.0.0.1 - - [28/May/2024 14:09:49] "GET /index HTTP/1.1" 200 -
5 I, H5 H! b# _5 F1 P  u* K
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-9 00:05 , Processed in 0.044502 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表