在Mac上修复Python
让Python在Mac上正常运行似乎是一个持续不断的挑战。我正在使用自制实现,现在运行Jupyter有困难,除了sudo:在Mac上修复Python,python,macos,jupyter,Python,Macos,Jupyter,让Python在Mac上正常运行似乎是一个持续不断的挑战。我正在使用自制实现,现在运行Jupyter有困难,除了sudo: $ 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
$ 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/
。。即使pandas可用(python-s'import pandas'
也可以正常工作)。猜测其路径对root用户不可用
我想知道Jupyter是不是,或者这只是我的设置
感谢您的帮助,因为这已经变得非常烦人了。任何关于擦除python和从头“正确”重新安装的指导都很方便
编辑:
$which virtualenv
/usr/local/bin/virtualenv
21:16$virtualenv
回溯(最近一次呼叫最后一次):
文件“/usr/local/bin/virtualenv”,第7行,在
从virtualenv导入主
ImportError:没有名为virtualenv的模块
立即停止通过OSX上的本机安装或通过自制程序使用python
- 首先学习使用
来控制所使用的python版本。Pyenv允许您随时安全地在所需的任何python版本之间切换,而不会弄乱本机安装的python(系统可能需要):pyenv
- 其次,学习如何使用虚拟环境(
)对项目进行沙箱处理。虚拟环境将允许pip安装不同的库集,并根据需要提供:pyvenv
pyvenv
和pyenv
是两种独立的技术,用于实现名称非常相似的类似目标(控制/沙箱环境)。需要注意的一点是,如果你在谷歌上搜索一下,你会看到对virtualenv
的旧引用。这与pyvenv是一样的
有人对Jupyter使用这些工具做了一个很好的概述:
另一种选择是在虚拟机(比如说virtualbox)或更好的Docker容器中完成所有工作,但这是一个非常有趣的事情,最好在您掌握虚拟环境之后再去做(不管怎样,当您构建Docker映像时,您都会需要它们)。shebang中的python是什么(
!
)pip
和jupyter
上的行?您可能已使用使用/usr/bin/python
的pip
安装了jupyter
。这意味着它不在为自制的/usr/local/bin/python安装的库中
您应该能够通过以下方式解决此问题:
/usr/local/bin/python $(type -p pip) install jupyter
但总的来说,我支持@Ray的建议,即使用pyenv
来管理一组个人Python安装,您可以在这些安装之间进行切换,而不依赖于系统上的内容。(我同样使用rbenv
表示Ruby,使用perlbrew
表示Perl。)Ah这一定是它。皮普的是#/usr/local/opt/python/bin/python2.7和jupyter的was#/usr/bin/python
。谢谢你,雷。已尝试安装virtualenv,并点击上面的错误。有什么想法吗?@geotheory不要使用virtualenv
如果你在python3中,使用pyvenv
它也会做同样的事情。这对Mac上的Python2.7有效吗pip install pyvenv
返回无法找到满足要求的pyvenv版本(来自版本:)未找到与pyvenv匹配的发行版
。@geotherory据我所知,pyvenv
仅适用于python3,virtualenv
适用于python2.7。安装pyenv
并选择python2.7作为运行python之后,需要使用pip install virtualenv
安装它。
$ 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
/usr/local/bin/python $(type -p pip) install jupyter