You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何pip3安装的本地包仅Python 2.7可用,Python 3.x提示ModuleNotFoundError?

问题分析与解决方案

这种情况大概率是你的pip3命令并没有真正关联到Python 3.6环境,导致执行pip3 install -e .时,实际是用Python 2的pip完成了安装,所以Python 3里找不到包。下面具体分析原因和解决办法:

一、先确认pip3的实际指向

先执行这个命令看看pip3到底绑定的是哪个Python版本:

pip3 --version

如果输出里显示的是Python 2.7的路径,那问题就找到了——你的pip3其实是Python 2的pip的别名,这通常是系统环境变量配置混乱导致的。

二、用Python 3的绝对路径来执行安装

既然sys.executable已经指向/usr/local/opt/python/bin/python3.6,那直接用这个Python的-m pip来安装,就能确保包安装到Python 3.6的环境里:

/usr/local/opt/python/bin/python3.6 -m pip install -e .

这种方式绕开了pip3命令的路径问题,直接调用目标Python版本自带的pip模块,是最稳妥的做法。

三、检查虚拟环境(如果使用的话)

如果你是在虚拟环境里操作,要确保已经激活了Python 3.6对应的虚拟环境。激活后,python和pip都会自动关联到虚拟环境里的Python版本,这时候再执行pip install -e .就不会出错了。

四、排查setup.py的配置问题

极少数情况下,setup.py里如果硬编码了Python版本或者安装路径,也可能导致安装到错误的环境。检查你的setup.py,确保没有类似这样的代码:

# 错误示例,不要写死路径
install_requires=[...],
scripts=['...'],
data_files=[('/usr/local/lib/python2.7/site-packages', [...])]

正常的setup.py应该遵循标准打包规范,不要指定固定的Python版本或安装路径。

执行完上面的步骤后,再在Python 3.6环境里尝试import funniest,应该就能正常导入了。

内容的提问来源于stack exchange,提问作者askmeasku

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:59:41