iPython无法识别Python包

时间:2018-04-09 20:13:16

标签: python macos ipython

我已经在OS X上使用python 3了大约6个月了,最近又转向了iPython。我使用pip install工具安装了一些python包,如下所示:

python3.6 -m pip install matplotlib

我也使用pip安装工具安装了iPython(运行python3.6),但是,在iPython中,以前安装的软件包无法识别。我确定有办法指出' iPython到包裹的位置,我只是不知道它是什么。我知道这是一个基本问题,但任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

当您的系统上有多个版本的Python时,可能会发生这种情况。

原因:

IPython的设置有些混乱(一般来说就像Python包装一样),你可能不会对它如何进入搞砸状态的细节感兴趣所以我会保持简短:&& #34; IPython的"命令实际上只是一个带有shebang的普通旧python脚本。它由安装程序console_scripts创建。

pip monkeypatches setuptools monkeypatches distutils在安装时通知shebang:here

解决方案:

找到绑定到控制台脚本的Python解释器,如下所示:

$ head -1 $(which ipython)
#!/usr/bin/python3

使用该解释器卸载IPython,如下所示:

$ /usr/bin/python3 -m pip uninstall ipython

为您想要的解释器重新安装IPython,如下所示:

$ python3.6 -m pip install ipython

Bonus:如果您想将ipython与系统级Python 2解释器和系统级Python 3解释器一起使用,请考虑在bashrc或类似设置中设置别名:

alias ipython2="python2 /path/to/ipython"
alias ipython3="python3 /path/to/ipython"

您可以对pip2pip3执行类似操作。请注意,ipython在v6.0中已经放弃了对Python 2的支持,但是在Python 2的站点包中安装了~=5.6并且最新安装在Python 3的站点中是非常好的 - 包。