PyCharm中Flask程序工作目录与终端不一致问题问询
解决PyCharm中Flask运行工作目录不一致的问题
原因拆解
这问题太常见了!你碰到的核心矛盾就是PyCharm默认的运行工作目录和终端手动执行脚本的路径不匹配——终端里你是直接在项目文件夹下跑命令,工作目录自然就是项目根路径;但PyCharm默认会把自身安装目录或者非项目路径设成工作目录,才导致os.getcwd()输出完全不同。这种差异会直接影响Flask加载静态文件、配置文件的路径,搞出各种莫名其妙的问题。
一步到位修复步骤
- 打开PyCharm,点击右上角的运行配置下拉框(就是你选择Flask启动项的地方),选择
Edit Configurations... - 在弹出的配置窗口里,找到你当前在用的Flask运行配置(可能是默认的
Flask,也可能是你自定义的名字) - 往下滚动找到
Working directory选项,点击右侧的文件夹图标,选中你的项目根目录——也就是终端里os.getcwd()输出的/Users/Wes/Dropbox/Programming/Python/etpruncnt2 - 点击
Apply再点OK保存配置 - 重新启动Flask程序,再打印
os.getcwd(),输出就会和终端完全一致了
额外偷懒小技巧
要是不想每次新建Flask配置都改一遍,可以设置默认模板:
- 同样打开
Edit Configurations...,点击左上角的Templates,展开找到Flask - 修改
Working directory为你常用的项目路径模板,或者直接勾选Use content root(这样会自动把当前打开项目的根目录设为工作目录) - 保存后,后续新建的Flask配置都会自动继承这个设置,省得重复操作
调整之后,PyCharm里的运行环境就和终端对齐了,路径相关的奇怪问题也就消失啦!
内容的提问来源于stack exchange,提问作者WesR
相关产品推荐
相关产品推荐

