最新消息:20210917 已从crifan.com换到crifan.org

【已解决】VSCode中调试Python报错:ModuleNotFoundError No module named evernote

Python crifan 492浏览 0评论
折腾:
【未解决】自己写Python脚本同步印象笔记到WordPress
期间,去用VSCode去调试Python的代码,此处是印象笔记的示例代码
/Users/crifan/dev/dev_root/python/EvernoteToWordpress/EvernoteToWordpress/libs/evernote-sdk-python3/sample/client/EDAMTest.py
结果报错:
发生异常: ModuleNotFoundError

No module named 'evernote'

File "/Users/crifan/dev/dev_root/python/EvernoteToWordpress/EvernoteToWordpress/libs/evernote-sdk-python3/sample/client/EDAMTest.py", line 13, in <module> import evernote.edam.userstore.constants as UserStoreConstants
去加上路径
import os

import sys

sys.path.append(os.getcwd())
sys.path.append("..")
sys.path.append("../..")
sys.path.append("../../lib")
竟然还报错:
然后觉得没错啊。
并且示例代码中注释中也是类似说法:
# To run (Unix):
# export PYTHONPATH=../../lib; python EDAMTest.py
而此处用sys.path.append是之前就用过的,不会出错的。
后来突然想到了:
是由于当前提调试期间,当前目录是项目根目录
从log中
➜  EvernoteToWordpress /Users/crifan/.local/share/virtualenvs/EvernoteToWordpress-PC3x4gk8/bin/python /Users/crifan/.vscode/extensions/ms-python.python-2019.11.50794/pythonFiles/ptvsd_launcher.py --default --client --host localhost --port 52992 /Users/crifan/dev/dev_root/python/EvernoteToWordpress/EvernoteToWordpress/libs/evernote-sdk-python3/sample/client/EDAMTest.py 
可以看出是,当前目录是:
/Users/crifan/dev/dev_root/python/EvernoteToWordpress/EvernoteToWordpress/
而不是以为的:
/Users/crifan/dev/dev_root/python/EvernoteToWordpress/EvernoteToWordpress/libs/evernote-sdk-python3/sample/client/

但是代码中的:
.
..
../lib
等路径,都是以 EDAMTest.py所在目录所说的。
所以去改为:
# sys.path.append("lib")
# sys.path.append("libs/evernote-sdk-python3")
sys.path.append("libs/evernote-sdk-python3/lib")
sys.path.append("libs/evernote-sdk-python3/lib/evernote")
sys.path.append("libs/evernote-sdk-python3/lib/thrift")
再去调试看看
果然可以正常调试了:
【总结】
VSCode调试时,默认是当前项目根目录
所以后续想要添加路径去找到某个库,要注意路径写法。
此处就是:
对于:
/Users/crifan/dev/dev_root/python/EvernoteToWordpress/EvernoteToWordpress/libs/evernote-sdk-python3/sample/client/EDAMTest.py
调试时,想要添加:
/Users/crifan/dev/dev_root/python/EvernoteToWordpress/EvernoteToWordpress/libs/evernote-sdk-python3/lib/evernote
不能写成:
sys.path.append("../../lib")
而其实是
sys.path.append("libs/evernote-sdk-python3/lib/evernote")

转载请注明:在路上 » 【已解决】VSCode中调试Python报错:ModuleNotFoundError No module named evernote

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
92 queries in 0.180 seconds, using 23.37MB memory