Jupyter Lab可正常使用numpy但CMD运行py文件提示模块不存在的问题求助
Hey Thiago, let's work through this problem step by step!
首先要纠正一个关键误区:你在Python代码里写的那些pip install numpy、conda install numpy之类的命令是终端/CMD专属命令,并不是Python代码,直接把它们写在.py文件里运行肯定会触发语法错误,这些命令只能在CMD窗口里手动输入执行哦。
接下来咱们解决核心问题:你遇到的ModuleNotFoundError本质是Python环境不一致——Jupyter Lab正在使用的Python环境,和CMD里默认调用的Python环境不是同一个,所以numpy虽然装在了Jupyter的环境里,但CMD用的环境里并没有这个模块。
下面是具体的解决方法:
第一步:找到Jupyter Lab使用的Python路径
打开你的Jupyter Lab,新建一个空白笔记本,运行以下代码:import sys print(sys.executable)你会得到类似
C:\Users\YourName\anaconda3\python.exe(Windows)或者/Users/YourName/venvs/myenv/bin/python(Mac/Linux)的路径,这就是Jupyter依赖的Python解释器位置。第二步:用该路径直接运行你的脚本
打开CMD,切换到你的.py文件所在的文件夹,然后输入刚才得到的路径加上你的文件名,比如:C:\Users\YourName\anaconda3\python.exe your_script.py这样就能强制使用Jupyter的环境来运行脚本,自然就能找到numpy模块了。
另一种方案:给CMD默认的Python环境安装numpy
如果你想让CMD默认的Python环境也能运行这个脚本,先确认CMD里的Python路径:
在CMD中输入:where python # Windows系统 # Mac/Linux系统输入:which python得到路径后,用这个Python对应的pip来安装numpy:
python -m pip install numpy # 如果系统默认是python3,就用:python3 -m pip install numpy安装完成后,直接在CMD里运行
python your_script.py即可正常执行。如果你使用的是conda虚拟环境
别忘了先在CMD里激活Jupyter正在使用的那个conda环境:conda activate your_env_name激活环境后再运行你的
.py文件,环境统一后就不会出现模块找不到的问题了。
备注:内容来源于stack exchange,提问作者Thiago Lobo

