【问题标题】:pip Install on Yosemite with Homebrew使用 Homebrew 在 Yosemite 上安装 pip
【发布时间】:2015-09-12 20:31:22
【问题描述】:

我昨天向question 询问了这个问题,一些好心人帮助了我,但我想我只是愚蠢。我在我的 Mac 上运行 Yosemite。我已经使用 Homebrew 安装了 python2 和 python3,并且我已经从 Homebrew 获得了 pip 和 pip3。

现在我使用pip3 install nltk` 安装了 nltk,它在 python 3 上运行良好,但在 python 2 上当然不行。

所以我尝试了pip install nltk,我得到了

pip install nltk
Requirement already satisfied (use --upgrade to upgrade): nltk in /usr/local/lib/python3.4/site-packages
Requirement already satisfied (use --upgrade to upgrade): six>=1.9.0 in /usr/local/lib/python3.4/site-packages (from nltk)

然后我尝试了

pip install --upgrade nltk
Requirement already up-to-date: nltk in /usr/local/lib/python3.4/site-packages
Requirement already up-to-date: six>=1.9.0 in /usr/local/lib/python3.4/site-packages (from nltk)

当然,我仍然无法在 python 2 中导入 nltk。

过去我在使用 pip 和 pip3 时没有遇到任何问题,也没有刻意改变我的环境。如何让import nltk 在 python 2 中工作?

按照建议,我尝试获取 pip 的版本:

pip -V
pip 7.1.2 from /usr/local/lib/python2.7/site-packages (python 2.7) 

所以它看起来像 python 2,就像我想的那样。

我也按照建议尝试了 pip2,但出现异常:

pip2 install nltk
Collecting nltk
  Using cached nltk-3.0.5.tar.gz
Collecting six>=1.9.0 (from nltk)
  Using cached six-1.9.0-py2.py3-none-any.whl
Building wheels for collected packages: nltk
  Building wheel for nltk failed: [Errno 13] Permission denied: '/Users/saul/Library/Caches/pip/wheels/f6'
Failed to build nltk
Installing collected packages: six, nltk
  Found existing installation: six 1.8.0
    Uninstalling six-1.8.0:
Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/pip/basecommand.py", line 211, in main
    status = self.run(options, args)
  File "/usr/local/lib/python2.7/site-packages/pip/commands/install.py", line 311, in run
    root=options.root_path,
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_set.py", line 640, in install
    requirement.uninstall(auto_confirm=True)
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_install.py", line 716, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_uninstall.py", line 125, in remove
    renames(path, new_path)
  File "/usr/local/lib/python2.7/site-packages/pip/utils/__init__.py", line 315, in renames
    shutil.move(old, new)
  File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 303, in move
    os.unlink(src)
OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/six-1.8.0.dist-info/DESCRIPTION.rst'

最后一行真的很奇怪,因为它表明不是在我使用 Homebrew 安装的 python 2 中尝试安装,而是在 Mac 附带的 python 2 中尝试安装。

你能告诉我哪里出了问题以及如何纠正它吗?

【问题讨论】:

  • 从命令行尝试pip -V,看看你使用的是哪个pip。

标签: python homebrew


【解决方案1】:

听起来您系统的默认 Python 是 Python3;这就是 pip 指向 Python 3 站点包位置的原因。

要在 Python 2 上安装 nltk,请尝试 pip2 install nltk;然后输入 python2 以启动 Python 2。

【讨论】:

  • 谢谢。这看起来不错,但是当我尝试时,我得到了一个例外。请查看我添加到问题中的其他信息。
  • 我还没有解决我的问题,但这让我朝着正确的方向前进。我想我的环境搞砸了。
【解决方案2】:

我强烈建议使用virtualenv 而不是 pip 安装到系统中。

使用virtualenv,您可以隔离每个项目的环境,并指定您正在运行的 Python。

【讨论】:

  • 我为大型项目这样做,但我也喜欢有一个全局环境来用于快速和肮脏的脚本。我今天遇到的麻烦表明也许我应该改变我的方式,但你知道他们怎么说老狗和新把戏。
【解决方案3】:

另一种解决方案是使用 miniconda 安装程序并设置单独的环境。

从here 下载 miniconda。快速安装说明是here。总结如下:

OS X Miniconda 安装 在您的浏览器中下载 Miniconda OS X 的安装程序,然后在终端窗口中键入以下内容 并按照安装程序屏幕上的提示进行操作。如果不确定任何 设置,只需接受默认值,因为它们都可以在以后更改。

bash Miniconda3-latest-MacOSX-x86_64.sh

现在关闭并重新打开您的终端窗口以进行更改 效果。

要测试您的安装,请输入命令conda list。如果 正确安装后,您将看到已安装的软件包列表 已安装。

然后要更新所有包,请输入conda update conda。

从终端设置环境并包含 nltk 和 ipython 包(连同所有依赖项):

$ conda create -n python2_env python=2 nltk ipython pyqt qtconsole
$ conda create -n python3_env python=3 nltk ipython pyqt qtconsole

激活您的环境:

source activate python2_env

然后从活动环境中的终端键入以下内容以启动 iPython 控制台窗口:

$ ipython qtconsole --pylab=inline

【讨论】:

  • 谢谢。稍后我会对此进行研究,但这比我现在想做的要多。
  • 虽然看起来很吓人,但实际上很容易设置。所有环境都是独立的,因此您不必担心搞砸系统安装。您还可以根据需要轻松创建不同的环境(如上所述)。
  • 我真的想尝试一下,但我不使用 iPython(我一直想尝试的另一件事。)它是否适用于普通的旧 python REPL?
  • 我花了 10 多分钟从一个全新的用户帐户设置这些环境(包括下载时间)。 iPython 是一个不错的 REPL 环境,带有 tab 补全等功能。一旦你开始使用它,你就再也回不去了……
  • 一个想法。如果我走这条路,它将如何解决我的点子问题? conda 文档说有些软件包可以用 pip 安装,而不能用 conda 安装。 (自然)如果我需要这样做,我如何将安装安装到正确的环境中?
猜你喜欢
  • 1970-01-01
  • 2014-12-14
  • 2015-03-01
  • 2015-04-15
  • 2013-08-26
  • 1970-01-01
  • 1970-01-01
  • 2015-08-11
  • 2016-03-30
相关资源
最近更新 更多