在过去的几年中,我在不知不觉中pip 安装 了很多东西。当我在 Python 2.7 Jupyter Notebook 中运行代码片段时,突然出现此错误:
ImportError: No module named matplotlib
当我在终端中运行时: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
我认为这表明我在几个地方有 Python,这可以解释为什么我的标准库(例如 matplotlib)没有在我想使用的 Python 环境中找到.
我的理想结果:
最终,我只想清理我的环境并从头开始,这样当我打开 Jupyter Notebook 时,我就可以使用 Keras、Tensorflow 和所有 Anaconda 包以及默认的 Python 3。
此外,我希望终端中的任何后续 pip install 都能更新我在 Jupyter 中使用的内容。
据我所知,this kind of bewilderment about Python environment是一个相当普遍的问题,所以我希望这篇文章对您有所帮助。
请您参考如下方法:
在同一台机器上有很多 python 版本是很常见的情况。要清理您的 python,您需要执行以下步骤:
请记住,对于 OSX 10.15,“原生”
python版本仍为 2.7。它位于/usr/bin/中。 (实际路径是/System/Library/Frameworks/Python.framework/Versions/2.7/bin/但它们是同一回事。)如果您想回滚到干净 系统python环境,你需要删除其他所有内容。首先,您需要找到所有其他 python 。在我的机器上是这样的:
$ 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```
如你所见,我从 mac ports 安装了更多东西,我手动下载并安装了适用于 Mac 的 python3,而且我还错误地安装了 Anaconda(从这里看不到,但安装的访问权限错误)。另外,您可能有一些来自 homebrew 的东西,但我没有使用。它还将出现在 /usr/local/bin 中。好吧,让我们开始吧!
移除 Anaconda:
$ rm -rf ~/anaconda3从
/Library/Frameworks/Python.Framework/中删除所有内容:$ sudo rm -rf/Library/Frameworks/Python.Framework/从
/Applications/Python*/中删除您可以手动安装的所有内容:$ sudo rm -rf/Applications/Python*从
/usr/local/bin中删除所有符号链接(symbolic link):$ sudo rm/usr/local/bin/python*删除
~/Library/Python/中pip安装的所有包:'$ rm -rf ~/Library/Python/最后,您还可以删除所有与
port相关的文件,它们位于/opt/local/bin/python*中。 警告:它可能会破坏其他一些port包!所以最准确的方法是使用port本身(但你可以跳过这个为了不影响端口中的其他软件而采取的步骤):$ sudo port uninstall python*就是这样!现在你只有一个系统
python2.7。您可以下载Anaconda并安装它:$ sh Anaconda3-*-MacOSX-x86_64.sh现在您有了一个新的
python3。要检查这个打开一个新的终端并尝试:$ python --version Python 3.6.5 :: Anaconda, Inc.还有
matplotlib和所有其他科学的东西,比如pandas等已经存在了:$ python -c "import matplotlib as mpl; print(mpl.__version__)" 2.2.2
