Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Mac上修复Python_Python_Macos_Jupyter - Fatal编程技术网

在Mac上修复Python

在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

让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/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

  • 首先学习使用
    pyenv
    来控制所使用的python版本。Pyenv允许您随时安全地在所需的任何python版本之间切换,而不会弄乱本机安装的python(系统可能需要):
  • 其次,学习如何使用虚拟环境(
    pyvenv
    )对项目进行沙箱处理。虚拟环境将允许pip安装不同的库集,并根据需要提供:
有了工具箱中的这两种技术,您将永远不会再遇到问题

请注意
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