Python 无法在Mac OS El Capitan上安装nltk

Python 无法在Mac OS El Capitan上安装nltk,python,python-2.7,nltk,Python,Python 2.7,Nltk,我按照nltk文档的建议安装了sudopip-U nltk。 但是,我得到了以下输出: Collecting nltk Downloading nltk-3.0.5.tar.gz (1.0MB) 100% |████████████████████████████████| 1.0MB 516kB/s Collecting six>=1.9.0 (from nltk) Downloading six-1.9.0-py2.py3-none-any.whl Installin

我按照nltk文档的建议安装了sudopip-U nltk。 但是,我得到了以下输出:

Collecting nltk
  Downloading nltk-3.0.5.tar.gz (1.0MB)
    100% |████████████████████████████████| 1.0MB 516kB/s 
Collecting six>=1.9.0 (from nltk)
  Downloading six-1.9.0-py2.py3-none-any.whl
Installing collected packages: six, nltk
  Found existing installation: six 1.4.1
    DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
    Uninstalling six-1.4.1:
Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 211, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 311, in run
    root=options.root_path,
  File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 640, in install
    requirement.uninstall(auto_confirm=True)
  File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 716, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/Library/Python/2.7/site-packages/pip/req/req_uninstall.py", line 125, in remove
    renames(path, new_path)
  File "/Library/Python/2.7/site-packages/pip/utils/__init__.py", line 315, in renames
    shutil.move(old, new)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move
    copy2(src, real_dst)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2
    copystat(src, dst)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat
    os.chflags(dst, st.st_flags)
OSError: [Errno 1] Operation not permitted: '/tmp/pip-7dp3on-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'
基本上,它无法将six从1.4.1升级到1.9.0。我试图分开做,但得到了同样的错误

我提到El Capitan是因为有些人在El Capitan上安装其他python时遇到了问题,我想知道这是否是由于这个原因

有人知道如何解决这个问题吗?

我也有同样的问题。 我使用brew管理软件包。所以首先你得跑
brew医生
它将列出与您的设置有关的问题,并更正它们。在我的例子中,/usr/local是不可写的,所以我必须修复它

然后跑

brew reinstall python

这解决了我的问题,然后我可以使用pip安装软件包。下面是我解决问题的方法:

首先,安装
Xcode CLI

xcode-select --install
然后重新安装Python:

sudo brew reinstall python
最后,安装
nltk

sudo pip install -U nltk

希望它能有所帮助:)

我知道有很多“brew助推器”,但你不需要为如此基本的东西使用其他python。如果在/System中通过
pip
找到依赖项,就像他们在南方公园(South Park)上说的那样,“你会过得很糟糕”。如果您不需要在系统范围内进行此更改,您只需
pip安装--user
并将
$HOME/Library/Python/2.7/bin
添加到shell路径(通过
~/.bash\u profile
等)。

如果您已经创建了/usr/local目录,则在终端中运行此命令:

sudo chown$(whoami):admin/usr/local和&sudo chown-R$(whoami):admin/usr/local


pip无法升级或更改系统Python,因为全新的系统完整性保护机制甚至禁止“root”对系统目录的所有更改。您可以通过其他地方提供的说明(例如)从恢复环境中禁用SIP,但更好的解决方案是使用--user参数安装到本地目录中:

pip安装--用户nltk

这将在本地主目录中保留nltk

> python
>>> import nltk
>>> nltk
>>> <module 'nltk' from '/Users/yourusername/Library/Python/2.7/lib/python/site-packages/nltk/__init__.pyc'>
python >>>导入nltk >>>nltk >>>
很明显,如果您试图安装一些全局可访问的东西,但这些东西不起作用,但是如果您只想安装将从您自己的用户ID运行的东西,那么它就可以正常工作。

好的。:

简单的事实是这里提出的其他几个问题的混合答案:

  • 系统完整性保护限制以根Mac OS X系统目录根访问/Library
  • 您甚至不需要sudo或重新安装系统包等。
  • pip安装——用户nltk起作用,“pip安装-U…”不起作用
  • pip安装--用户使用可访问的$HOME/Library/Python/2.7/bin目录。。。可以添加到shell路径中(通过~/.bash_配置文件等)
  • 这比多次安装python和需要brew等要优雅得多

  • 阿门

    这两个版本产生了六个版本1.41:

    pip安装--忽略已安装的六个

    pip安装awsebcli--升级--忽略已安装的六个


    在我看来,brew解决方案是有意义的。如果苹果需要自己的Python版本用于El Capitan,它可以拥有它。我的问题现在在这里:
    /usr/local/bin/python

    不管它值多少钱,我在尝试安装mock时遇到了相同的问题我在安装
    virtualenvwrapper时遇到了相同的问题这里讨论的问题是:请尝试NLTK 3.1,其中包括六个。即使完成了这些步骤,我仍然会收到一个错误:File“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py”,第103行,copystat os.chflags(dst、st.st_标志)brew上不需要
    sudo
    ,也不需要
    pip
    中的任何内容。其他帖子中有一个解决方案会导致禁用安全设置,但很危险。这是正确的疑难解答:)ignore installed非常有效,非常感谢