易陆发现互联网技术论坛

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

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

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

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

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

x
首先引入项目找到右上角 test_flask >  Edit Configurations
) m  F( y* M# E- A) `  U弹出对话框:
6 ~: ]* e1 h2 M/ Z+ A
; _* v( a1 t  N1 N' S& S左上角的+号。选择python3 v# b" C! M7 h; m! i1 U

! _' m8 q9 I, a% k4 |弹出对话框:# v; k6 j# r! l& q! ~' b1 B# f2 ~

4 {" h/ i6 v0 e" B( @3 G修改Name 为项目名称:   test_flask
( ?: D$ o4 i+ k! @% S1 n      configuration:   
9 B( H9 j& C- ^) N        第一个倒三角符号区,选择Module name      后面框中输入: flask $ _0 n3 n# l( A* @. b4 M
              接下来设置Parameters   run -h 0.0.0.0 -p 8080/ C  x+ _& U5 s" A$ s; T  L
/ P( U& d" W" W0 h
    第二个倒三角:  Environment 1 K( T2 L  J1 N  P4 ]1 x
           Environment variables:    后面的像test的文件的图标,点击配置,弹出对话框:. T8 W: G. Q' s  O) P$ G
                            Name  写上FLASK_APP    value值 app.py   
) P9 H7 B& o- M2 W. g. s. d# s5 T                             Name 写上 FLASK_ENV    value值 development      
! C& a+ g0 m" C! n( d# k            点击ok保存即可,返回上级页面:
1 p$ R! }: h; g0 r. `* k          Python interpreter 选择我们安装的python解释器
0 @+ s: f. M0 e# {  t: X7 D5 `1 o% q8 L. @7 f" O
          为了防止后面访问出现问题  我们需要配置  Working directory   :  C:\Users\admin\Desktop\test_flask$ F0 Q. i0 f2 X# A; ]# i
           勾选上下面两个对话框即可。  
' e8 ^! e/ ?- I* _# n/ U4 m  点击ok保存即可
. C3 L2 n8 v( S# a/ P' b% I5 m7 {# q, d2 M

( T2 e5 d7 I5 d/ b  l3 I6 R8 T6 l9 N+ T
因程序调不到python的flask插件:
6 h! U; }$ l# a* c      配置如下:# S/ H' G3 A  Z8 V& p
    点击左上角file选择settings  
7 H0 h- }* x% `  i) i% G1 |弹出对话框,选择Project: test_flask* ^/ ?0 |6 e3 ?0 N' o
       出现我们的env环境
2 l2 i: I3 `. \     需要的包如下:
/ R+ ]3 E0 |, |/ D" w     Click         7.0+ A) J: c, G+ g0 Z: R
     Flask        1.1.22 q3 ]+ x& Q, r0 r
     Jinjia2      2.11.2
7 g5 `4 I5 c! m; \# j& f     MarkupSafe   2.0.0) O: ?2 K5 V& w5 Q$ A- \
     Werkzeug       1.0.0
! j# p) H3 X6 i     itsdangerous   1.1.0
' D7 F$ W1 T3 B, R     pip                20.0.2
8 o( T2 k2 f' {1 s5 t( |) Z     setuptools      45.2.0
' D( v% V+ v/ ~    wheel            0.34.2# P+ ]+ F) v) Q+ J# w

, Z/ ?/ f7 T! w1 i2 z以上插件是当前测试成功的环境变量需要的包。
* R, z- q' {6 T: e9 J! u5 Q* z测试:  f! b3 r" w( t9 ?4 a

* e) c* h# I( _: Y4 C2 kfrom flask import Flask8 ?/ k: s, Z/ P8 e
# 用当前脚本名称实例化Flask对象,方便flask从该脚本文件中获取需要的内容- C8 W' c' T+ Z3 x/ I3 h
app = Flask(__name__)
/ ?' i% _% t8 a! F0 a# R  U$ K6 d  _9 J1 D, O; f5 E  _3 Z9 M' O
#methods参数用于指定允许的请求格式( }! H( F+ D3 @
#常规输入url的访问就是get方法: g$ ]. W  I7 P( ~! g7 k( ^/ j- `
@app.route('/')& A- a9 r  j8 d5 g3 D1 Q  [
def Hello_World():
2 A3 S* F% @" }2 o/ C     '''视图函数'''" V3 b/ A- D2 H6 u- C
     return 'Hello_World,sucesess'+ z) y9 U% F. i. U/ A& v% Z1 x; F
#注意路由路径不要重名,映射的视图函数也不要重名
$ e' `( N( ^: n: C' D7 _9 w$ c9 Q( Z9 u: e
###v1.0之后的版本,不推荐的写法
* g  s) d* d+ q) V# Q1 d# if __name__ == '__main__':% y$ o5 e. T9 t
#    app.run()
, Y5 K2 i  r$ A6 l) i
6 J% Q0 V: j9 s. B1 b& |4 z3 v
; f) i2 [$ v# G4 S) S& \7 m: l  `! B( T$ h) A! p8 o
python.exe -m flask run -h 0.0.0.0 -p 80
! ~; |( I5 e# W& `7 J' w5 D& T, S * Serving Flask app "app.py" (lazy loading)
8 \% `/ U8 }4 N' g3 U" [ * Environment: development
5 p9 _7 k" C# B3 L' L * Debug mode: on# Y: ]* {! F3 H% ?, R0 ^4 M8 @4 W
* Restarting with stat
) G8 p5 Z' g$ @; M% w8 ^ * Debugger is active!
9 J9 }& K# M0 R4 ~2 ~ * Debugger PIN: 215-100-437
- m5 O7 {6 y( j$ t3 o- [$ U * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)
+ T7 c9 o: X  O% h/ j
1 K; A# L; t2 C/ B& n% [( R0 N: D6 J+ \

$ K. X6 V9 d8 o; v0 a* ?# k4 u8 U4 o7 }( D  n( \& W' v1 S, ?
浏览器访问结果:
# z/ S. X! p# x8 G5 ?4 {8 d6 I- ~; A
- i7 I( p$ q  m( \* M3 {  Khttp://127.0.0.1/
. r& W5 u4 b  O4 Y% @% _
8 r9 n2 z, m, d+ P  bHello_World,sucesess3 K" y- }6 i, i# @  y* S
' y% B/ r7 \* g$ i1 }( A/ X
测试正常。* Q" a  j2 b) }
9 T3 E8 y' O/ `5 i1 E9 B  S( P3 ^
3 }/ F2 a, J- K* I0 Z
否则就报这个错误:
7 b# y/ G  q8 G. Gmodulenotfounderror: no module named 'app'
. R  ]& g/ z8 W/ B5 s# ?等报错。
: j' `: t2 c! H2 B8 h7 L0 \; [& E! u7 }: z$ i' z
成功之后,不配置
2 b1 R% ^2 V: F( R! b/ d/ N1 n 我们需要配置  Working directory   :  C:\Users\admin\Desktop\test_flask* j1 X7 b* _8 L* V, r
           勾选上下面两个对话框即可。  
& s. R. }, G. x; y  c8 B& m& Q9 ]; R: g7 X
这个也可以成功了。是因为引入了该变量了。' \  }( s9 K. X" F3 W' z

7 H1 P  d" q; \. H, ~  m4 |
6 B" h4 w" U3 g& l% O# J% {2 O0 W! x( _/ J

# Y/ Y% r: Y( D
; ~5 \! f% A" ?+ c; ]; G" J" p
 楼主| 发表于 2024-5-28 13:56:24 | 显示全部楼层
访问报错信息:. _: N0 ~- v# y& e8 Z+ M8 ]
flask.cli.NoAppException
9 X9 V* I3 n% |, C" m& L7 |2 X1 q# v
$ r/ Y* u5 ^5 u" q& u2 Gflask.cli.NoAppException: Could not import "app".  C$ W5 d  A/ `
Traceback (most recent call last)- g2 d7 Y9 e5 w5 m9 |
. I9 ^, Y# t5 b+ v$ D
    File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 240, in locate_app
/ C0 R8 i; a; B( {$ S3 ~
+ i+ ?1 D3 J  J" r/ \    __import__(module_name)7 g% u0 {" Q4 k6 X  o  l

; a4 p! g4 a6 k% \$ K    During handling of the above exception, another exception occurred:
7 ^3 U0 }5 p8 m; o. P1 B9 H1 l- Z    File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 338, in __call__7 _/ V* {8 f9 V+ b" F  _

$ D. @% w  ~% l. i3 Z    self._flush_bg_loading_exception()2 R7 d( K8 n5 F+ E% k" M4 n4 E# K

) \5 R# s; c# w1 h7 s: z    File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 326, in _flush_bg_loading_exception
+ q$ P) O) F% }* E
, C; [0 p3 a& r2 c5 T    reraise(*exc_info)4 R) k( v+ k/ U4 K2 l

3 B* |) b3 Q0 q, u3 _/ q3 e    File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\_compat.py", line 39, in reraise
4 x1 a7 S5 R5 ]2 B4 T* E/ r- Q1 g# u9 x
    raise value
# `( A" u( j+ W, L1 M- Y# d
$ Y' R5 P6 H0 J  `& [! Q    File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 314, in _load_app! M  K% V3 o( L0 m' q5 M

3 s0 X. {0 u$ q    self._load_unlocked()
2 a6 r. k) p9 j* R
9 P4 O5 W) }- l    File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 330, in _load_unlocked
; G: y$ a) O8 j- l
! Y% E' q( p( ~$ p& }4 r( |0 k1 q    self._app = rv = self.loader()
' E, k% ]" H/ }  Q. t
& |5 U3 k. {0 @: A    File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 388, in load_app
" @4 ~4 b: O! T& A
4 _. [' g' q; ^; H    app = locate_app(self, import_name, name)
3 A5 O" d4 {4 |* w1 }  h6 L( Z& e. x, y& I  Y9 O, p
    File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 250, in locate_app
4 k% q- W. _& a/ Y2 e" g! I6 i6 O& h* s8 r$ R; o
    raise NoAppException('Could not import "{name}".'.format(name=module_name))
/ j# T. V  S% A1 V7 F( q
% r' s$ m% w0 C+ W    flask.cli.NoAppException: Could not import "app".
; M1 L9 `: o; _2 l. ]+ a. W# R" K9 H! X( N; R4 S
The debugger caught an exception in your WSGI application. You can now look at the traceback which led to the error." r: d& R  ~- {+ T( O- n6 U' [" O

/ H! M. ]- t0 Y' E  ?5 _To 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.7 a; ?9 p2 C/ K& L
9 u$ R8 |* f) L/ |
You can execute arbitrary Python code in the stack frames and there are some extra helpers available for introspection:
1 T0 q% {) p4 u. o
  h  h/ j! v( [; B    dump() shows all variables in the frame5 T% g+ [* q1 r+ ]0 y: p: b( a' V
    dump(obj) dumps all that's known about the object
" L' i+ a. i. k' ]( z
4 I" ?. k7 B7 n2 f! I
 楼主| 发表于 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 80809 h* _" V0 |3 i; m- g
* Serving Flask app "app.py" (lazy loading)
4 O7 b' x+ M, ?- s. H2 v! D * Environment: development
) G& N+ P3 U' a' z1 W* a * Debug mode: on
- M$ h. f: Z, y, {& r9 t * Restarting with stat
2 y- H; e) W! @5 `0 g' _! y3 b * Debugger is active!  h3 y9 N; g8 c& n% a8 B" C  ~7 z$ l
* Debugger PIN: 215-100-437' ]& Y" c  ?  z' t" x
* Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)! e' \  t2 U  e: u+ N5 w: E
127.0.0.1 - - [28/May/2024 13:56:09] "GET / HTTP/1.1" 500 -
& P! D" \+ x( X$ iTraceback (most recent call last):6 h6 [6 G9 c- J0 o! z& o
  File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 240, in locate_app+ B1 j$ z) c# y* Q6 x( C
    __import__(module_name)
' k' q: V* k) [" ]9 bModuleNotFoundError: No module named 'app'9 `- [" S  r% z( a0 Y
/ o! |7 B; Z) m' S' K8 u1 n6 H
During handling of the above exception, another exception occurred:
; L) h: ~2 y: ^
* x) D. h3 V2 q% K* C) b5 l1 mTraceback (most recent call last):; Y* J, ^& L( m( w+ w" g
  File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 338, in __call__
5 U2 v0 U+ k, H: V  E5 @2 C    self._flush_bg_loading_exception()8 E7 [6 l' F2 k0 T
  File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 326, in _flush_bg_loading_exception
6 Y: Y% j; I9 m- e- K2 p% a  i    reraise(*exc_info)
1 M2 ^# w( r! W) h& q" X. V5 A7 Q  File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\_compat.py", line 39, in reraise  T( L. S7 I* E" j0 _
    raise value. G6 E2 H- O/ L5 g
  File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 314, in _load_app; l. L! C% u, c; Z# H9 M  ~5 ?8 C
    self._load_unlocked()% U/ D8 L4 w1 m: b( g
  File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 330, in _load_unlocked- L# O$ C5 A$ ^) i& r9 G& m2 W
    self._app = rv = self.loader()
( R5 G: I" l, P1 ?0 p3 C/ k  File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 388, in load_app
. g- R* e& R# C" D" C! G    app = locate_app(self, import_name, name)
' y- D5 |/ P* }9 P' J7 S  File "C:\Users\admin\Desktop\test_flask\venv\Lib\site-packages\flask\cli.py", line 250, in locate_app9 U. o% P" |( G4 g8 A0 b* x8 y+ e- d6 \
    raise NoAppException('Could not import "{name}".'.format(name=module_name)), j3 ?# b6 J% L. |5 t
flask.cli.NoAppException: Could not import "app".
& H$ N% R2 o# p0 h8 r127.0.0.1 - - [28/May/2024 13:56:09] "GET /?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 -
" h4 M" T0 Q- i, u& J127.0.0.1 - - [28/May/2024 13:56:09] "GET /?__debugger__=yes&cmd=resource&f=jquery.js HTTP/1.1" 200 -
  u: l' y6 a' o9 Z. w127.0.0.1 - - [28/May/2024 13:56:09] "GET /?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 -3 \: n7 ~9 x6 |
127.0.0.1 - - [28/May/2024 13:56:09] "GET /?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 -
# {$ |0 x0 Z2 v+ x7 E& A2 ?127.0.0.1 - - [28/May/2024 13:56:09] "GET /?__debugger__=yes&cmd=resource&f=ubuntu.ttf HTTP/1.1" 200 -0 \) X, L% H+ ]6 G; N0 s7 M! X
127.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  配置# H; q5 I- G, t4 p7 L5 q5 t1 B/ A8 T1 R
" W0 b# `+ x, X- _
    修改Working directory:   c:\Users\admin\Desktop\test_flask' ~0 q/ |, r# K# v4 [' ~" N- Q8 E
     勾选Add content roots to ...  两个都勾上。0 M' N5 q, Q% R
7 `; @" P  q2 F* ~2 N
保存配置。点击ok和Apply   应用
+ K6 ~+ [0 t0 P+ C2 G0 @1 z% K3 v# [6 S
" e) X0 S2 }1 ]$ w. u  ~% V: T2 h* C- a7 a4 m  y
重启服务:
* y2 ^/ \( q( v6 aC:\Users\admin\Desktop\test_flask\venv\Scripts\python.exe -m flask run -h 0.0.0.0 -p 8080
4 Z" h; I# e8 c% r * Serving Flask app "app.py" (lazy loading)
  T2 O8 v% ~/ ]  J% N& V * Environment: development
! F8 y/ b2 A. e2 p7 ?& ?7 P! o * Debug mode: on
' h5 i; e6 x' j. l8 h * Restarting with stat
, F$ i& V0 u! }4 E) W * Debugger is active!7 q; a5 p) u9 @, [& j
* Debugger PIN: 215-100-437
: C  C9 x: M8 l+ i# w- T * Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)2 _; _) Z5 K$ p9 }5 d2 ~0 i
5 O$ A' }$ y" [  ?( M
访问:$ @: K' x7 X# n8 w: _7 s, f

) @; L2 \+ v! o4 b: e( D& S* G& Whttp://127.0.0.1:8080
* N4 m  V* n7 D- ]: pHello_World,sucesess8 N, y* P$ G  n$ k# i

6 c3 a: E0 a1 s服务端返回值:
( ~8 U7 f$ y& p6 \6 h* V7 c6 F" `; Q127.0.0.1 - - [28/May/2024 13:58:12] "GET / HTTP/1.1" 200 -, ?2 K- q0 r3 K8 P9 B$ e
127.0.0.1 - - [28/May/2024 13:58:12] "GET /favicon.ico HTTP/1.1" 404 -7 Y2 B' u3 K( v2 p- s) a
127.0.0.1 - - [28/May/2024 14:04:05] "GET / HTTP/1.1" 200 -
* v2 {0 u' A7 [1 D' t4 Z# L( T/ Q6 P127.0.0.1 - - [28/May/2024 14:04:06] "GET / HTTP/1.1" 200 -
: h: L+ B1 X9 }: E127.0.0.1 - - [28/May/2024 14:04:07] "GET / HTTP/1.1" 200 -* p0 S. F8 e* m) m" o0 o
127.0.0.1 - - [28/May/2024 14:04:07] "GET / HTTP/1.1" 200 -! e+ e3 k5 N$ V
127.0.0.1 - - [28/May/2024 14:04:07] "GET / HTTP/1.1" 200 -  Y8 E9 D9 _2 ?  k8 S/ g. [

) S% y& N! C2 R7 T3 J% W' ?) N  f& j' X3 ?! E  q

$ Y5 [8 D8 h8 O- _7 Y1 p
 楼主| 发表于 2024-5-28 14:10:09 | 显示全部楼层
* Detected change in 'C:\\Users\\admin\\Desktop\\test_flask\\app.py', reloading+ @% k  x' n/ j: U4 ?. q
* Restarting with stat/ @! l' ^1 ^# Z$ d2 C
* Debugger is active!4 I$ r- h5 C. L5 f* g4 e: r$ E, Z
* Debugger PIN: 215-100-437" K9 d9 w; ^! `
* Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)0 ^; i2 \( V. R+ Y  I3 |
127.0.0.1 - - [28/May/2024 14:09:42] "GET /index HTTP/1.1" 200 -
) W( x" B( y/ @2 Y. z- K127.0.0.1 - - [28/May/2024 14:09:45] "GET /index HTTP/1.1" 200 -0 s& W$ b* v2 x2 N9 r# R4 c; P
127.0.0.1 - - [28/May/2024 14:09:47] "GET /index HTTP/1.1" 200 -. f4 X* _/ Z) f3 f7 k3 x* Y0 X6 w
127.0.0.1 - - [28/May/2024 14:09:47] "GET /index HTTP/1.1" 200 -3 |* X# G8 I  k) r2 _) A
127.0.0.1 - - [28/May/2024 14:09:49] "GET /index HTTP/1.1" 200 -
! `5 I/ R8 d  ?4 ?( \! `& F
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

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

GMT+8, 2026-4-8 21:19 , Processed in 0.046298 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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