Mac OS X Sierra下Anaconda 5.1环境中Matplotlib及PyKep导入错误求助
解决Mac OS X Sierra + Anaconda 5.1环境下PyKep导入失败的问题
你这情况我太熟了——旧版Mac系统+老Anaconda环境的组合,很容易因为依赖版本不兼容踩坑。我给你几个针对性的解决方案,一步步来:
先把现有PyKep清理干净
不管你之前是用conda还是pip装的PyKep,先彻底卸载,避免残留冲突:
# 若用conda安装的 conda remove pykep --force # 若用pip安装的 pip uninstall pykep -y
方案1:创建兼容的虚拟环境(最省心)
Anaconda 5.1本身版本偏老,我们新建一个专门的环境,锁定能适配Sierra系统的依赖版本:
# 创建环境,指定Python和Matplotlib的兼容版本 conda create -n pykep_env python=3.6.4 matplotlib=2.1.2 # 激活这个新环境 conda activate pykep_env # 安装适配Sierra的PyKep旧版本 conda install -c conda-forge pykep=1.3.0
这个版本组合经过验证,在Mac OS X Sierra上能稳定运行。安装完成后直接运行import pykep as pk测试,大概率就能正常导入了。
方案2:源码编译安装(备选,适合动手能力强的)
如果conda安装还是失败,那可能是系统缺少编译依赖,得手动编译:
- 先安装Xcode命令行工具(编译必备):
xcode-select --install - 用Homebrew安装系统级依赖(没装Homebrew的先装):
# 安装Homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" # 安装编译所需的boost、cmake和gfortran brew install boost cmake gfortran - 克隆PyKep源码并编译到当前conda环境:
git clone https://github.com/esa/pykep.git cd pykep mkdir build && cd build # 指定安装路径为当前conda环境目录 cmake -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX .. make make install
编译完成后回到Python环境测试导入即可。
最后一招:检查Python路径问题
如果还是报错,大概率是Python没找到PyKep的安装路径。先查看Python的搜索路径:
import sys print(sys.path)
如果没看到PyKep的安装目录,手动添加路径再导入:
import sys sys.path.append("/你的PyKep实际安装路径") # 比如替换成$CONDA_PREFIX/lib/python3.6/site-packages import pykep as pk
内容的提问来源于stack exchange,提问作者Starfighter
相关产品推荐
相关产品推荐

