最近遇到Pycharm和VSCode上去运行同样的代码,Pycharm上可以正常运行,但是VSCode总是报错说ModuleNotFound,折腾了一番后发现VSCode是需要做配置才能正常运行。
代码结构:

添加图片注释,不超过 140 字(可选)
Tool.py
class CommonTools(object): def __init__(self): pass def test(self): print(‘this is a test function only.’)
test.py
from common.Tool import CommonTools mail = CommonTools() mail.test()
在Pycharm上运行test.py文件,能正常运行并输出

添加图片注释,不超过 140 字(可选)
当时在VSCode上运行,会报错:ModuleNotFoundError: No module named ‘common’
VSCode上2种运行方式都会报错:
  1. 用Ctrl+F5或F5去运行,结果如下:

添加图片注释,不超过 140 字(可选)
2. 右键点击py文件内容,选择“Run Python File in Terminal”,一样的报错
 
后来发现需要在VSCode上配置launch.json,需要新加2行设置
“env”:{“PYTHONPATH”:”${workspaceRoot}”},
“envFile”:”${workspaceFolder}/.env”
效果如下:
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 “version”: “0.2.0”, “configurations”: [ { “name”: “Python: Current File”, “type”: “python”, “request”: “launch”, “program”: “${file}”, “console”: “integratedTerminal”, “justMyCode”: true, “env”: {“PYTHONPATH”:“${workspaceRoot}”}, “envFile”: “${workspaceFolder}/.env” } ] }
此后,VSCode上第一种方法可以正常运行:用Ctrl+F5或F5去运行,正常输出结果。

添加图片注释,不超过 140 字(可选)
但是第二种方法还是原来的报错。发现这种方式去执行python文件,实际上只是调用python.exe xxx.py在CMD窗口去执行,但是因为test.py文件中有import其他文件夹里面的py文件,从而导致了报错。
目前还没有发现有啥办法来设置,如果有的话,请帮忙提供,感谢先!

原文地址:http://www.cnblogs.com/danvy/p/16927184.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性