我按照nltk文档的建议做了sudo pip install -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'
基本上,它无法将六个从1.4.1升级到1.9.0。我试图单独做,但得到了同样的错误。
我提到El Capitan,因为有些人在El Capitan上遇到其他python安装问题,我想知道这是否是由于这个原因造成的。
有谁知道如何解决这个问题?
答案 0 :(得分:38)
以下是解决问题的方法:
首先,安装Xcode CLI
:
xcode-select --install
然后重新安装Python
:
sudo brew reinstall python
最后,安装nltk
:
sudo pip install -U nltk
希望有所帮助:)
答案 1 :(得分:17)
我知道那里有很多'酿造助推器',但你不应该使用另一个python来做一些基本的东西。如果{/ 1}}在/ System中找到依赖关系,正如他们在南方公园所说的那样,你将会度过一个糟糕的时光。如果您不需要在系统范围内进行此更改,则只需pip
并将pip install --user <package>
添加到您的shell路径(通过$HOME/Library/Python/2.7/bin
等)。
答案 2 :(得分:8)
这两个导致六个版本1.41:
pip install --ignore-installed six
pip install awsebcli --upgrade --ignore-installed six
brew解决方案是有意义的,imo。如果Apple需要自己的El Capitan Python副本,它可以拥有它。我现在在这里:/usr/local/bin/python
答案 3 :(得分:4)
由于全新的系统完整性保护机制甚至“root”禁用了对系统目录的所有更改,因此无法通过pip升级或更改系统Python。您可以通过其他地方可用的指示(例如http://www.howtogeek.com/230424/how-to-disable-system-integrity-protection-on-a-mac-and-why-you-shouldnt/)从恢复环境中禁用SIP,但更好的解决方案是使用--user参数安装到您的本地目录中:
pip install --user nltk
然后将nltk留在您的本地主目录中。
> python
>>> import nltk
>>> nltk
>>> <module 'nltk' from '/Users/yourusername/Library/Python/2.7/lib/python/site-packages/nltk/__init__.pyc'>
显然,如果你正在尝试安装一些全局无法访问的东西,但是如果你想要做的就是安装你将从你自己的用户ID运行的东西,它可以正常工作。
答案 4 :(得分:2)
我有同样的问题。
我用brew来管理包。所以首先你要跑
brew doctor
它将列出您的设置问题,并更正它们。在我的情况下/ usr / local不可写,所以我不得不修复它
然后运行
brew reinstall python
这解决了我的问题,然后我可以使用pip
安装软件包答案 5 :(得分:2)
Alrighty'然后:
简单的简单事实就是这里提出的其他几个人的混合答案:阿门
答案 6 :(得分:0)
如果您已经创建了/ usr / local目录,则在终端中运行此命令:
sudo chown $(whoami):admin / usr / local&amp;&amp; sudo chown -R $(whoami):admin / usr / local
这 http://digitizor.com/2015/10/01/fix-homebrew-permissions-osx-el-capitan/