用 pycharm 跑 flask 遇到各种空格路径问题.
只能用 vscode 来跑. 但是还要同时用 pycharm 来看函数 usages 之类的高级 feature....
1
b2504420230 2023-12-09 18:58:44 +08:00
表示一直用 pycharm 跑 flask ;没遇到这种问题啊。问题说清楚点呗;带错误栈
|
2
chackchackGO OP jetbrains 相关讨论: https://intellij-support.jetbrains.com/hc/en-us/community/posts/11602067518226-C-Program-Files-Python311-python-exe-can-t-open-file-C-Program-Errno-2-No-such-file-or-directory
我刚想给你复现, 努力还原了所有情况, 但是问题消失了... : C 赛博闹鬼了, 之后复现就跟您看.. |
3
chackchackGO OP @b2504420230
原问题虽然没了(原问题是根本无法运行). 但是新问题是无法访问数据库. 同样的配置下 vscode 却可以. (确定了运行路径无误.) ``` Traceback (most recent call last): File "C:\Users\test\miniconda3\lib\site-packages\flask\app.py", line 2213, in __call__ return self.wsgi_app(environ, start_response) File "C:\Users\test\miniconda3\lib\site-packages\flask\app.py", line 2193, in wsgi_app response = self.handle_exception(e) File "C:\Users\test\miniconda3\lib\site-packages\flask\app.py", line 2190, in wsgi_app response = self.full_dispatch_request() File "C:\Users\test\miniconda3\lib\site-packages\flask\app.py", line 1486, in full_dispatch_request rv = self.handle_user_exception(e) File "C:\Users\test\miniconda3\lib\site-packages\flask\app.py", line 1484, in full_dispatch_request rv = self.dispatch_request() File "C:\Users\test\miniconda3\lib\site-packages\flask\app.py", line 1469, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) File "C:\Users\test\Desktop\workSpace\Y36_1204\iMusic\iMusic.py", line 23, in statistics genres = get_genres() File "C:\Users\test\Desktop\workSpace\Y36_1204\iMusic\iMusic.py", line 231, in get_genres conn = sqlite3.connect("iMusic.db") sqlite3.OperationalError: unable to open database file ``` |
4
b2504420230 2023-12-09 19:39:01 +08:00 1
几个问题
1. pycharm 给管理员权限了吗; 2. 不用虚拟环境吗? |
5
ZZ74 2023-12-09 19:44:51 +08:00
我觉得正确的吐槽对象应该是 python 本身,用缩进对齐取代;之类的符号
|
6
ISOtropy 2023-12-09 19:50:37 +08:00 via Android
@ZZ74 这是 Python 的简洁优势吧 个人感觉 Python 敲起来真爽 看作者原贴 应该是找不到 c 盘那个文件的目录 是 pycharm 的原因
|
7
TArysiyehua 2023-12-09 20:43:52 +08:00
感觉就是楼主没配置好。。。
|
8
0xsui 2023-12-09 20:48:25 +08:00
搞清楚 db 文件的路径,善用调试 debug ,实在不会处理就写绝对路径。。。
|
9
renmu 2023-12-09 21:23:54 +08:00 via Android 1
怕不是数据库用得相对路径,然后启动参数不是在数据库的文件夹。
ps:用哪个编辑器跑代码还会影响结果的吗 |
10
nagisaushio 2023-12-09 21:46:34 +08:00 via Android
@ZZ74 楼主又没提缩进的问题,这是在吐槽什么
|
11
TArysiyehua 2023-12-09 22:35:39 +08:00 1
@renmu run 的时候 config 配置相关的,估计楼主也不太懂 python 项目管理的相关配置。理论上跟 IDE 是没有关系的
|
12
chackchackGO OP @b2504420230
1. 没给管理员权限, 没设想过有情景会需要 root. 2. 以前用 conda env 或者 venv 之类的虚拟环境, 发现似乎在`pip install`时不会智能的从其他环境已有的包拉取数据, 而是都一股脑从网络拉取, 效率很的样子. 就一直用一个大环境, 后续再考虑 requirements.txt 怎么搞. 根据楼下的提示发现确实是 pycharm 的 config 执行目录问题. 默认居然是 `pycharm/bin`目录... |
13
chackchackGO OP @TArysiyehua
@renmu @0xsui 非常感谢, 确实是执行路径问题 用` print(Path.cwd())`命令 debug 发现 pycharm 的 run, 默认运行路径居然是`pycharm/bin`而不是 project 目录. |
14
chackchackGO OP @renmu 有时候需要用 pycharm 的高级 feature 而 vscode 没有的.
例如看某个函数的 usages. |
15
kuanat 2023-12-10 03:33:28 +08:00
楼主这个是非常简单的 cwd 的问题。
也许是现在大家写代码都过于依赖自动化工具,基础的东西反倒不知道了。不是说楼主,这种情况非常常见。我举几个例子: - 即便大厂的项目,搞不清外部依赖的比比皆是,特别是 python 类的机器学习项目,鲜有能做好工程化的 - 各种所谓的跨平台工具,处理不好路径的正反斜杠,即使用心处理了,很大概率也是硬编码而不是用系统级的 path 方法 - 外表绚丽的 i18n 结果内部实现竟然不是 rune 反正大家都是草台班子…… |
16
cz5424 2023-12-10 22:15:14 +08:00
工作目录 pycharm 是可以设置的。默认我记得不是 pycharm/bin ,楼主自己设置错了吧
|
17
bill110100 2023-12-11 01:01:46 +08:00
@tlsmars009 敲起来爽,改起来火葬场,尤其多层 if ,for 循环嵌套,没改好全报错。
|
18
llsquaer 2023-12-11 09:25:50 +08:00
你这个情况多半是 pycharm 的工作目录设置错误了,或者你中途改过工作目录。设置里改回去就行了。
简单的方法是删除 .idea 文件夹,在重新打开 pycharm |