第一次用VScode写python遇到了模块无法识别的问题,搞了一整天,
上网查,chatGPT都不行,现在时解决了。
首先项目结构如下,四个文件夹,四个py文件
代码:
def f1fun():
print("f1")
def f2fun():
print("f2")
print("f2 Run:")
from d1 import f1
f1.f1fun()
from d3.d4 import f4
f4.f4fun()
def f4fun():
print("f4")
from d1 import f1
from d2 import f2
from d3.d4 import f4
print("main Run:")
f1.f1fun()
f2.f2fun()
f4.f4fun()
现在运行f2 .py
报错:No module named 'd1'
在VScode里不像PyCharm模块不能直接点击运行,要使用终端命令行
确保首先对所有py文件ctrl+c保存,保存了代码才能生效
如上图所示,在VScode里点击TERMINAL,打开终端,输入
python -m d2.f2
成功在f2.py里运行了另外两个不同文件夹内f1.py,f4.py的函数
同时左边的项目结构也发生了变化,勾红的是刚刚运行时自动多出来的文件,至关重要,
而且名字也是有特点的,f1.py对应了f1.cpython-312.pyc,
即xxx.py对应xxx.cpython-312.pyc
关键点
如果你的VScode能生成上面那种的文件,那就不能运行成功。
或者生成的不是对应的不如xxx.py对应yyy.cpython-312.pyc,也是不能成功的。
那么ctrl+shift+p,输入pythonsel,选择点击
然后选择好已经安装的Python,从而确保VScode能找到
这样如果还不行,那就试试开始页里有没有python、jupiter的new选项,
这里有一个java的updated选项,因为我点过了,所有没有显示了。
如果有,点击new然后在出现的页面把所有都勾选上。然后回来再运行看看
对于根目录下的main.py则没用那么麻烦可以直接点击运行
有需要进一步了解的可以私信。