conda环境中geopandas导入异常:py-3失败python命令行成功求助
问题原因解析
核心就是你终端里的py-3和python命令,指向的根本不是同一个Python解释器:
- 激活conda虚拟环境后,conda会修改当前终端的环境变量(
PATH),把这个conda环境下的python可执行文件路径放到最前面。这时候敲python,终端会优先调用conda环境里的Python——这个环境你已经装了geopandas,自然能导入成功。 py-3是Windows系统自带的Python Launcher工具,它的查找逻辑和conda修改的PATH无关。它会按自己的规则找系统里的Python3版本(比如优先找注册表记录的全局Python,或者用户目录下的版本),完全没用到你装了geopandas的conda环境。这个被py-3唤起的Python根本没装geopandas,导入肯定失败。
你可以自己验证:分别用py-3和python启动Python后,执行这段代码:
import sys print(sys.executable)
会输出两个完全不同的路径,一个是conda环境下的Python,另一个是系统全局的Python。
如果非要用py-3调用conda环境的Python,可以在conda环境的根目录下创建一个.python-version文件,里面写该环境的Python版本号(比如3.10),Python Launcher就会优先用这个环境的解释器了。
内容的提问来源于stack exchange,提问作者wallaw Allwlla
相关产品推荐
相关产品推荐

