mpld3 的 pip 安装
pip install for mpld3
我刚做了一个
sudo pip install matplotlib
效果很好。那么
sudo pip install matplotlib
详情:
$sudo pip install mpld3
Downloading/unpacking mpld3
Downloading mpld3-0.2.tar.gz (1.1MB): 1.1MB downloaded
Running setup.py (path:/private/tmp/pip_build_root/mpld3/setup.py) egg_info for package mpld3
Installing collected packages: mpld3
Running setup.py install for mpld3
Successfully installed mpld3
Cleaning up...
所以mpld3也安装好了。
出于某种原因,matplotlib 出现在 python 中,但没有出现在 mpld3 中:
In [3]: import matplotlib.pyplot as plt
In [4]: plt.plot([3,1,4,1,5], 'ks-', mec='w', mew=5, ms=20)
Out[4]: [<matplotlib.lines.Line2D at 0x103ab4d10>]
In [5]: plt.show()
工作正常..
但是:
In [6]: import mpld3
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-6-25a6968c2f16> in <module>()
----> 1 import mpld3
ImportError: No module named mpld3
是否有必要更新例如PYTHONPATH 或其他一些环境变量?
更新 回答@infinity 关于 pip 与 ipython 版本的(好)问题:
$which pip
/usr/local/Cellar/python/2.7.8_2/bin/pip
18:20:42/lightbox2 $which ipython
/usr/local/bin/ipython
18:20:45/lightbox2 $which python
/usr/local/Cellar/python/2.7.8_2/bin/python
18:23:58/lightbox2 $sudo pip install ipython
Password:
Requirement already satisfied (use --upgrade to upgrade): ipython in /Library/Python/2.7/site-packages
Cleaning up...
查看您的 where
结果,我认为您的 ipython 在尝试导入模块时似乎看错了路径。
完整的诊断和修复(适用于您和未来的 Google 员工):
在命令提示符下使用 which
(Linux) 或 where
(windows) 检查 pip
和 python
/ipython
路径。
1.1。如果 ipython 似乎来自不同的路径 运行,请启动它并使用 import sys; sys.executable
.
检查匹配的 Python 安装位置
无论如何,通过仔细修改 PATH 环境变量来解决这个问题,使其显示正确的 Python 可执行文件的路径。
编辑:在与 OP 进行一些额外讨论后(查看@评论),如果 ipython 安装未与 python 可执行文件链接,您应该更改第一行您的 ipython 文件到 shabang,然后是您的 Python 可执行文件的路径。它应该看起来像: #!/usr/bin/python
当 /usr/bin/python
是正确的 Python 可执行文件的路径时。
编辑 2:未链接 ipython 的更好解决方案是使用 python -m pip install ipython
为正确的 Python 版本安装 ipython(感谢 @abarnert 和 @koffein) .
ipython 可执行文件被硬编码为 /usr/bin/python。我能看到的最佳解决方法是将第一行从
更改为
#!/usr/bin/python
至
#!/usr/bin/env python
这解决了我的非标准 python 位置问题。
假设您使用 ipython
从终端启动 python 控制台。如果要确保将软件包安装到正确的 python 安装位置,请使用
sudo ipython -m pip install mpld3
因此应该自动使用正确的 pip(和正确的路径)。
ipython
脚本只是实际 IPython 模块的一个非常薄的包装器,安装在 Python 的站点包中。
只是将其 #!
行更改为指向不同的 Python 几乎总是一个坏主意。另一个 Python 在其 site-packages/dist-packages 中可能有不同的 IPython 版本,或者可能根本没有。
当然,如果你只想要一个ipython
,只需要用正确版本的Python安装它,不要安装它对于任何其他 Python.
大多数人 运行 遇到的问题是他们不小心为两个不同的 Python 安装了它,然后安装了第二个(或者,偶尔,无论哪个最终出现在获胜位置)在 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,那对你没有任何好处。
那么,你能做什么?
我所做的是确保每个 Python(除了系统安装的)都配置为使用不在我的 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 matplotlib
效果很好。那么
sudo pip install matplotlib
详情:
$sudo pip install mpld3
Downloading/unpacking mpld3
Downloading mpld3-0.2.tar.gz (1.1MB): 1.1MB downloaded
Running setup.py (path:/private/tmp/pip_build_root/mpld3/setup.py) egg_info for package mpld3
Installing collected packages: mpld3
Running setup.py install for mpld3
Successfully installed mpld3
Cleaning up...
所以mpld3也安装好了。
出于某种原因,matplotlib 出现在 python 中,但没有出现在 mpld3 中:
In [3]: import matplotlib.pyplot as plt
In [4]: plt.plot([3,1,4,1,5], 'ks-', mec='w', mew=5, ms=20)
Out[4]: [<matplotlib.lines.Line2D at 0x103ab4d10>]
In [5]: plt.show()
工作正常..
但是:
In [6]: import mpld3
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-6-25a6968c2f16> in <module>()
----> 1 import mpld3
ImportError: No module named mpld3
是否有必要更新例如PYTHONPATH 或其他一些环境变量?
更新 回答@infinity 关于 pip 与 ipython 版本的(好)问题:
$which pip
/usr/local/Cellar/python/2.7.8_2/bin/pip
18:20:42/lightbox2 $which ipython
/usr/local/bin/ipython
18:20:45/lightbox2 $which python
/usr/local/Cellar/python/2.7.8_2/bin/python
18:23:58/lightbox2 $sudo pip install ipython
Password:
Requirement already satisfied (use --upgrade to upgrade): ipython in /Library/Python/2.7/site-packages
Cleaning up...
查看您的 where
结果,我认为您的 ipython 在尝试导入模块时似乎看错了路径。
完整的诊断和修复(适用于您和未来的 Google 员工):
在命令提示符下使用
which
(Linux) 或where
(windows) 检查pip
和python
/ipython
路径。1.1。如果 ipython 似乎来自不同的路径 运行,请启动它并使用
import sys; sys.executable
. 检查匹配的 Python 安装位置
无论如何,通过仔细修改 PATH 环境变量来解决这个问题,使其显示正确的 Python 可执行文件的路径。
编辑:在与 OP 进行一些额外讨论后(查看@评论),如果 ipython 安装未与 python 可执行文件链接,您应该更改第一行您的 ipython 文件到 shabang,然后是您的 Python 可执行文件的路径。它应该看起来像: #!/usr/bin/python
当 /usr/bin/python
是正确的 Python 可执行文件的路径时。
编辑 2:未链接 ipython 的更好解决方案是使用 python -m pip install ipython
为正确的 Python 版本安装 ipython(感谢 @abarnert 和 @koffein) .
ipython 可执行文件被硬编码为 /usr/bin/python。我能看到的最佳解决方法是将第一行从
更改为#!/usr/bin/python
至
#!/usr/bin/env python
这解决了我的非标准 python 位置问题。
假设您使用 ipython
从终端启动 python 控制台。如果要确保将软件包安装到正确的 python 安装位置,请使用
sudo ipython -m pip install mpld3
因此应该自动使用正确的 pip(和正确的路径)。
ipython
脚本只是实际 IPython 模块的一个非常薄的包装器,安装在 Python 的站点包中。
只是将其 #!
行更改为指向不同的 Python 几乎总是一个坏主意。另一个 Python 在其 site-packages/dist-packages 中可能有不同的 IPython 版本,或者可能根本没有。
当然,如果你只想要一个ipython
,只需要用正确版本的Python安装它,不要安装它对于任何其他 Python.
大多数人 运行 遇到的问题是他们不小心为两个不同的 Python 安装了它,然后安装了第二个(或者,偶尔,无论哪个最终出现在获胜位置)在 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,那对你没有任何好处。
那么,你能做什么?
我所做的是确保每个 Python(除了系统安装的)都配置为使用不在我的 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
。)
我确实必须手动创建这些符号链接,但这比修改脚本要好。