([3,1,4,1,5],‘ks-’, MEC </跨度> =‘w’,mew = 5,ms = 20)Out [4]:[&lt; matplotlib.lines.Line2D at 0x103ab4d10&gt;]
在[5]中:plt.show()
工作良好 ..
但:
在[6]中:导入mpld3
看着你 where 结果,我认为你的ipython在尝试导入模块时似乎看错了路径。
where
完整的诊断和修复(适用于您和未来的Google员工):
使用 which (Linux)或 where (Windows)在命令提示符下检查 pip 和 python / ipython 路径。
which
pip
python
ipython
1.1。如果ipython似乎从不同的路径运行,请启动它并检查匹配的Python安装使用的位置 import sys; sys.executable 。
import sys; sys.executable
无论如何,通过仔细修改PATH环境变量来解决这个问题,它将显示正确的Python可执行文件的路径。
编辑:在与OP(看看@ comments)进行一些额外的讨论后,如果ipython安装没有与python可执行文件链接,你应该将你的ipython文件的第一行更改为shabang,然后更改Python可执行文件的路径。它应该看起来像: #!/usr/bin/python 什么时候 /usr/bin/python 是正确的Python可执行文件的路径。
#!/usr/bin/python
/usr/bin/python
编辑2:对于未链接的ipython,更好的解决方案是使用正确的Python版本安装ipython python -m pip install ipython (感谢@abarnert和@koffein)。
python -m pip install ipython
让我们说你从终端启动python控制台 ipython 。如果要确保将软件包安装到正确的python安装中,请使用
sudo ipython -m pip install mpld3
因此,应该自动使用正确的点(和正确的路径)。
ipython可执行文件硬编码到/ usr / bin / python。我能看到的最好的解决方法是改变第一行
至
#!/usr/bin/env python
这解决了我的非标准python位置的问题。
该 ipython 脚本只是实际IPython模块的一个非常薄的包装器,安装在Python的站点包中。
只是改变它 #! 指向不同Python的行几乎总是一个坏主意。其他Python可能在其site-packages / dist-packages中有不同的IPython版本,或者可能根本没有。
#!
当然,如果你只想要一个 ipython ,只需用正确版本的Python安装它,然后 不 为任何其他Python安装它。
大多数人遇到的问题是他们不小心为两个不同的Pythons安装了它,并且无论他们安装在第二个(或偶尔,无论哪一个最终在PATH的获胜位置)最终成为他们使用的那个,即使这不是他们想要的。
如果您不希望IPython用于第二个Python版本,请不要安装它。或者,如果您已经这样做,请为两个Python版本卸载它,然后将其重新安装到您想要的版本。
如果你想要IPython用于多个Python版本怎么办?
不幸的是,他们都会尝试使用相同的名称进行安装, ipython 。也许 ipython2 和 ipython3 ,但这只有在你自己的两个Python安装是一个2.x和一个3.x时才有用。如果您有CPython 3.4和PyPy 3.2,或者系统安装的CPython 2.7和第三方CPython 2.7,那对您没有任何帮助。
ipython2
ipython3
所以,你可以做什么?
我所做的是确保每个Python(除了系统安装的)配置为使用 scripts / bin 不在我的PATH上的目录,然后手动符号链接。
scripts
bin
所以,在我的Mac和Linux系统上, ipython 和 ipython2 两者都指向系统Python 2.7,并且只是安装了 sudo pip install ipython 。但 ipython3 是一个符号链接,我手动创建到我的主要Python 3安装安装二进制文件的位置。和 ipypy 和 ipypy3 是我的主要PyPy 2.x和3.x安装安装二进制文件的符号链接。 (当然,这些我创建的所有并行符号链接都命名了 python , python2 , python3 , pypy ,和 pypy3 。)
sudo pip install ipython
ipypy
ipypy3
python2
python3
pypy
pypy3
我必须手动创建这些符号链接,但这比修改脚本更好。