You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何让pip安装到Python 3.6.4目录而非2.7?安装aiohttp遇版本报错求助

解决方案:指定Python 3.6.4的pip安装路径 & 修复aiohttp安装错误

Hey there, let's tackle these two issues one by one—they're actually closely related once you dig into the root cause!

问题1:将pip安装的包定向到Python 3.6.4目录

默认情况下,系统里的pip命令通常关联到Python 2.7,这就是为什么你的包会默认装到Python 2的目录里。要指定到Python 3.6.4,这里有几个可靠的方法:

  • 直接用Python 3.6的可执行文件调用pip:这是最稳妥的方式,绝对不会搞混环境。运行以下命令安装包:

    python3.6 -m pip install [你的包名]
    

    如果系统里python3.6命令不存在,你可以替换成Python 3.6.4的完整安装路径(比如/usr/local/bin/python3.6,具体路径取决于你的安装位置)。

  • 使用对应版本的pip命令:如果你的系统已经生成了pip3.6命令,直接运行它即可:

    pip3.6 install [你的包名]
    

    可以先执行pip3.6 --version确认关联版本,输出应该类似pip xx.x.x from /path/to/python3.6/site-packages/pip (python 3.6)

  • 检查当前pip的关联版本:如果你不确定pippip3指向哪个Python版本,运行这两个命令对比:

    pip --version
    pip3 --version
    

    如果pip3指向的是更高版本的Python(比如3.7+),那还是用python3.6 -m pip更保险。

问题2:安装aiohttp时提示"RuntimeError: aiohttp requires Python 3.4.2+"

这个报错的核心原因很明确:你运行pip install aiohttp时,实际调用的是Python 2.7的pip,而aiohttp从3.0版本开始就彻底停止支持Python 2了。哪怕你装了Python 3.6.4,只要用错了pip版本,就会触发这个错误。

解决方法直接套用上面的正确pip调用方式即可:

python3.6 -m pip install aiohttp

如果安装过程中遇到缓存相关的异常,可以加上--no-cache-dir参数强制重新下载包:

python3.6 -m pip install --no-cache-dir aiohttp

额外小技巧

为了避免以后反复混淆,你可以给Python 3.6的pip设置一个别名:在~/.bashrc~/.zshrc文件里添加一行:

alias pip36='python3.6 -m pip'

之后直接用pip36 install [包名]就能快速指定到Python 3.6.4的环境了。

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

火山引擎 最新活动