如何清理 iPython 环境以便我可以重新开始使用 Jupyter 和 Python 3.x?

sam*_*and 4 python python-3.x anaconda jupyter-notebook

在过去的几年里,我做了pip installed很多事情,却不知道自己在做什么。突然间,当我在 Python 2.7 Jupyter Notebook 中运行代码段时出现此错误:

ImportError: No module named matplotlib
Run Code Online (Sandbox Code Playgroud)

当我在终端中运行它时:which -a python python 3...我得到:

Sams-MacBook-Pro-2:~ sambrand$ which -a python python3
//anaconda/bin/python
/usr/local/bin/python
/usr/bin/python
/usr/local/bin/python
Run Code Online (Sandbox Code Playgroud)

认为这表明我在一些地方使用了 Python,这可能解释了为什么在我想要使用的 Python 环境中找不到我的标准库(例如 matplotlib)的原因。

我的理想结果:

最终,我只想清理我的环境并从头开始,这样当我打开 Jupyter Notebook 时,我就可以使用 Keras、Tensorflow 和所有以 Python 3 作为默认值的 Anaconda 包。

此外,我希望pip install终端的任何后续内容更新我在 Jupyter 中使用的内容。

据我所知,这种对 Python 环境的困惑是一个相当普遍的问题,所以我希望这篇文章能有所帮助。

Yur*_*nko 11

在同一台机器上有很多 python 版本是很常见的情况。要清理python您需要执行以下步骤:

  1. 请记住,对于 OSX 10.15,“本机”python版本仍然是 2.7。它住在/usr/bin/. (实际路径是/System/Library/Frameworks/Python.framework/Versions/2.7/bin/一样的。)如果要回滚到干净的系统python环境,则需要删除所有其他内容。

  2. 首先,您需要找到所有其他蟒蛇。在我的机器上是这样的:

    $ which -a python python3
    /Users/yura/anaconda3/bin/python # <- Anaconda
    /opt/local/bin/python            # <- ports
    /opt/local/bin/python            # <- ports
    /opt/local/bin/python            # <- ports
    /opt/local/bin/python            # <- ports
    /usr/bin/python                  # <- "native"
    ~/anaconda3/bin/python3          # <- Anaconda
    /Library/Frameworks/Python.framework/Versions/3.5/bin/python3 # <- python3 for OSX
    /usr/local/bin/python3           # <- python3 for OSX```
    
    
    Run Code Online (Sandbox Code Playgroud)

如您所见,我安装了更多来自 的东西mac ports,我python3为 Mac 下载并手动安装,而且我还严重安装了 Anaconda(从这里看不到,但该安装具有错误的访问权限)。此外,您可能有来自 的东西homebrew,但我不使用。它也将出现在/usr/local/bin. 好吧,让我们开始吧!

  1. 删除蟒蛇: $ rm -rf ~/anaconda3

  2. 删除所有内容/Library/Frameworks/Python.Framework/

    $ sudo rm -rf /Library/Frameworks/Python.Framework/

  3. 从 中删除所有内容/Applications/Python*/,您可以手动安装:

    $ sudo rm -rf /Applications/Python*

  4. /usr/local/bin以下位置删除所有符号链接:

    $ sudo rm /usr/local/bin/python*

  5. 通过删除安装的所有软件包pip~/Library/Python/:“

    $ rm -rf ~/Library/Python/

  6. 最后,您还可以删除所有port相关文件,它们位于/opt/local/bin/python*. 警告:它可能会破坏其他一些port包!因此,最准确的方法是使用port它自己(但您可以跳过这一步,以免端口中的其他软件受到影响):

    $ sudo port uninstall python*

  7. 就是这样!现在您只有一个系统python2.7。您可以下载Anaconda并安装它:

    $ sh Anaconda3-*-MacOSX-x86_64.sh

  8. 现在你有了一个新的python3. 要检查这一点,请打开一个新终端并尝试:

    $ python --version
    Python 3.6.5 :: Anaconda, Inc.
    
    Run Code Online (Sandbox Code Playgroud)
  9. 并且matplotlib所有其他科学的东西,比如pandasetc 已经在那里了:

    $ python -c "import matplotlib as mpl; print(mpl.__version__)"
    2.2.2
    
    Run Code Online (Sandbox Code Playgroud)


sam*_*and 1

我花了几个小时,而且我还没有“清理”我的环境,但我能够通过以下步骤在 Jupyter 笔记本中运行 Python 3、Keras、Tensorflow 和 Anaconda:

  1. 从计算机中删除 Anaconda
  2. 从网络安装 Anaconda
  3. 从网络安装 Python 3
  4. Pip install Keras从终端(由于某种原因 Keras 没有显示在 Anaconda Navigator 中,正如本文所推荐的那样)
  5. Pip install Tensorflow从航站楼
  6. Jupyter Notebook从终端打开