vscode Python 的提示与实际运行的路径冲突?

2019-10-27 20:07:16 +08:00
 shirocheng

如图,希望在二级文件夹下的 main.py 中导入同一文件夹下的 DHash.py 中定义的类

vscode 提示的路径是相对工作区,而不是相对当前文件的

而 Python 文件运行时是以当前文件为相对路径的,运行 main.py 出错: ModuleNotFoundError: No module named 'image_compare'

需要这样写才行:

求教:如何修复 vscode python 的路径提示?

2862 次点击
所在节点    问与答
12 条回复
renmu
2019-10-27 20:15:40 +08:00
加一个__init__. py
yaming116
2019-10-27 21:59:47 +08:00
@renmu 然而并不是,项目放到 pycham 运行好好的,已经添加了__init__,不知道为啥不行,暂时放弃了
ipwx
2019-10-27 22:06:54 +08:00
@yaming116 pycharm 自动帮你设置了 pythonpath 环境变量。剩下的请谷歌
shirocheng
2019-10-27 23:02:56 +08:00
@yaming116
是的,在 pycharm 上就没问题...奈何 vscode 比较轻量,还是想用 vscode 😂
Trim21
2019-10-27 23:13:22 +08:00
你把终端的 pwd 放到工作区去运行 main.py 应该就行了

或者手动指定 pythonpath,在设置项里搜一搜,设置到工作区设置里
CallMeReznov
2019-10-28 01:11:18 +08:00
你 vscode 里 python 插件安装后你设置 python 的路径没?
linvaux
2019-10-28 08:08:36 +08:00
set PYTHONPATH=$(pwd)
shirocheng
2019-10-28 10:58:41 +08:00
@Trim21
是的,以工作区打开就没问题了。。。
请问 PythonPath 是指运行 Python 的路径吗,我的设置为:/usr/local/Caskroom/miniconda/base/envs/OpenCV/bin/python
Trim21
2019-10-28 11:13:10 +08:00
不是,你自己搜一下吧
shirocheng
2019-10-28 12:31:01 +08:00
@Trim21
嗯,终于在 issues 里搜到了。
是在 python.envFile 对应的配置文件中,加上 PYTHONPATH=codeFolder 对吗?
这样可以正确在对应目录下分析导入包了,不过不像 pycharm 会自动设置 PYTHONPATH,稍微有点不便
shirocheng
2019-10-28 12:32:13 +08:00
shirocheng
2019-12-06 10:49:16 +08:00
https://segmentfault.com/a/1190000021046003
vscode 文档中给出了很方便的解决方案,配置中添加需要解析的文件夹即可

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/613451

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX