在Mac上修复Python

时间:2016-04-22 19:49:17

标签: python macos jupyter

在Mac上使用Python似乎是一个持续的挑战。我正在使用Homebrew实现,现在除了使用sudo之外,现在很难运行Jupyter:

$ which python
/usr/local/bin/python
$ which pip
/Users/username/bin/pip
$ which jupyter
/usr/local/bin/jupyter
$ jupyter notebook
Traceback (most recent call last):
  File "/usr/local/bin/jupyter", line 7, in <module>
    from jupyter_core.command import main
ImportError: No module named jupyter_core.command
$ sudo jupyter notebook
The Jupyter Notebook is running at: http://localhost:8888/

一旦运行,Jupyter无法导入pandas(通过pip install pandas安装):

import pandas
ImportError                               Traceback (most recent call last)
<ipython-input-18-d6ac987968b6> in <module>()
----> 1 import pandas
ImportError: No module named pandas

..即使pandas可用(python -s 'import pandas'工作正常)。猜测它的路径是不可用的。

我想知道Jupyter是particularly problematic还是这只是我的设置..?

感谢帮助,因为这变得非常烦人。有关擦除python和重新安装&#39;正确&#39;的任何指导从头开始会很方便。

编辑:

$ which virtualenv
/usr/local/bin/virtualenv
21:16 $ virtualenv
Traceback (most recent call last):
  File "/usr/local/bin/virtualenv", line 7, in <module>
    from virtualenv import main
ImportError: No module named virtualenv

2 个答案:

答案 0 :(得分:1)

现在停止在OSX上通过本机安装使用python,或者立即通过自制程序使用!

在您的工具箱中使用这两项技术,您将永远不会遇到您遇到的问题。

请注意pyvenvpyenv是两种单独的技术,用于实现类似目标(控制/沙箱环境),但遗憾的是名称相似。有一点需要注意的是,如果你稍微谷歌,你会看到virtualenv的旧引用。这与pyvenv相同。

有人对Jupyter使用这些内容进行了很好的概述:http://www.alfredo.motta.name/create-isolated-jupyter-ipython-kernels-with-pyenv-and-virtualenv/

另一个选择是在虚拟机(比如说虚拟机)或者更好的Docker容器中做所有事情,但是在你掌握虚拟环境之后,最好留下一个有趣的球(你在构建你的时候会想要它们)无论如何,码头图像。)

答案 1 :(得分:1)

#!pip上的shebang(jupyter)行中有什么python?您可能已安装了使用jupyter pip /usr/bin/python的{​​{1}}。这意味着在为Homebrew /usr/local/bin/python安装的库中没有它。

您应该可以通过以下方式解决此问题:

/usr/local/bin/python $(type -p pip) install jupyter

但总的来说,我的第二个@Ray建议使用pyenv来管理您可以在其间切换的个人Python安装集,而不管系统上的内容是什么。 (我同样使用rbenv表示Ruby,perlbrew表示Perl。)