系统仅装Python3.8.5与最新pip,已装Kivy却无法导入的求助
嘿,我之前也踩过完全一样的坑!咱们一步步拆解问题、搞定它:
你现在的情况是:在(android)虚拟环境里,pip3 freeze明明列出了Kivy==2.0.0rc4,但进入Python交互环境执行import kivy却报ModuleNotFoundError。这最常见的原因就是你调用的Python解释器和pip不属于同一个虚拟环境——哪怕系统只有Python3.8.5,虚拟环境的环境变量如果没正确生效,就会出现这种「安装了但找不到」的矛盾情况。
给你几个具体的排查和解决步骤:
先确认Python和pip的路径是否匹配
在当前虚拟环境的终端里,分别运行这两个命令:which python which pip3正常情况下,这两个命令输出的路径应该都在你的
android虚拟环境目录下(比如类似~/frontend_android/android/bin/python和~/frontend_android/android/bin/pip3)。如果路径不一样,说明你用的python是系统版本或者其他环境的,而pip3是虚拟环境的,包自然装错地方了。用Python自带的pip安装,确保环境一致
如果上面的路径不匹配,直接用当前Python解释器调用pip重新安装Kivy,就能保证包安装到正确的site-packages目录:python -m pip install kivy==2.0.0rc4验证修复结果
重新进入Python交互环境,试试:import kivy print(kivy.__version__)如果能正常输出
2.0.0rc4,问题就彻底解决了。
另外也可以检查下虚拟环境是否真的激活成功:看看终端提示符左边的(android)标记是否存在,或者运行echo $VIRTUAL_ENV,如果输出的是你的虚拟环境路径,说明激活没问题;如果是空的,得重新激活虚拟环境(比如执行source android/bin/activate)。
内容的提问来源于stack exchange,提问作者mr_incredible

