已安装Python 2.7下NumPy版本问题及High Sierra安装IPython报错咨询
解决Python 2.7环境下的NumPy与IPython安装问题
针对你遇到的两个问题,我整理了基于Python 2.7和High Sierra环境的实操解决步骤:
一、处理NumPy版本与matplotlib 1.3.1的兼容性问题
你提到matplotlib 1.3.1要求numpy>=1.5,但当前numpy 1.8.0rc1却出现兼容问题——其实1.8.0rc1的版本数值是满足要求的,问题出在rc(候选发布版)的版本后缀被matplotlib的版本检测脚本误判,导致它无法识别这个预发布版本。你可以二选一解决:
方案1:替换为正式版NumPy 1.8.0
先卸载当前的预发布版,再安装稳定正式版:
# 强制卸载现有NumPy pip uninstall -y numpy # 安装正式版1.8.0 pip install numpy==1.8.0
如果执行时提示pip版本过旧,先升级适配Python 2.7的最后一版pip(避免权限问题用用户级安装):
pip install --user --upgrade pip==20.3.4
方案2:升级matplotlib到兼容rc版本的版本
如果不想更换NumPy版本,可以升级matplotlib到能识别预发布版NumPy的版本(比如1.4.x及以上):
pip install matplotlib>=1.4.0
二、解决High Sierra上IPython安装的"package missing"错误
High Sierra的系统Python受系统完整性保护(SIP)限制,直接安装第三方包容易出现依赖缺失或权限问题,推荐用虚拟环境隔离的方式安装:
步骤1:创建并激活Python 2.7虚拟环境
先安装virtualenv工具:
pip install --user virtualenv
然后创建专属虚拟环境:
# 创建名为py27_env的虚拟环境,指定Python 2.7版本 virtualenv -p python2.7 py27_env # 激活虚拟环境 source py27_env/bin/activate
激活后命令行前缀会显示(py27_env),表示已进入隔离环境。
步骤2:在虚拟环境中安装IPython
直接执行安装命令即可,虚拟环境里不会有系统权限限制:
pip install ipython
若仍出现包缺失:补充系统依赖
如果还是提示缺失readline、openssl等系统库,先通过Homebrew安装这些依赖:
brew install readline openssl
然后重新安装IPython时指定依赖路径:
pip install ipython --global-option=build_ext --global-option="-I/usr/local/opt/readline/include" --global-option="-L/usr/local/opt/readline/lib"
最后提醒下:Python 2.7已经停止官方维护,若长期使用建议逐步迁移到Python 3.x版本,但如果必须保留Python 2.7环境,虚拟环境是最安全的管理方式。
内容的提问来源于stack exchange,提问作者Hela
相关产品推荐
相关产品推荐

