簡體   English   中英

無法在Mac OS El Capitan上安裝nltk

[英]Unable to install nltk on Mac OS El Capitan

我按照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安裝的問題,我想知道這是否是由於這個原因。

有誰知道如何解決這個問題?

以下是我解決問題的方法:

首先,安裝Xcode CLI

xcode-select --install

然后重新安裝Python

sudo brew reinstall python

最后,安裝nltk

sudo pip install -U nltk

希望能幫助到你 :)

我知道那里有很多'釀造助推器',但你不應該使用另一個python來做一些基本的東西。 如果依賴是通過發現pip / System中,因為他們在南園說:“你將有一個壞的時間”。 如果您不需要在系統范圍內進行此更改,則只需pip install --user <package>並將$HOME/Library/Python/2.7/bin到shell路徑(通過~/.bash_profile等。 )。

這兩個都導致六個版本1.41:

pip install --ignore-installed six

pip install awsebcli --upgrade --ignore-installed six

brew解決方案是有意義的,imo。 如果Apple需要自己的El Capitan Python副本,它可以擁有它。 我現在在這里: /usr/local/bin/python

由於全新的系統完整性保護機制甚至“root”禁用了對系統目錄的所有更改,因此無法通過pip升級或更改系統Python。 您可以通過其他地方提供的指示從恢復環境中禁用SIP(例如http://www.howtogeek.com/230424/how-to-disable-system-integrity-protection-on-a-mac-and-why-you-不應該/ )但更好的解決方案是使用--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運行的東西,那么它可以正常工作。

我遇到過同樣的問題。 我用brew來管理包。 所以首先你必須運行brew doctor它將列出你的設置問題,糾正它們。 在我的情況下/ usr / local不可寫,所以我不得不修復它

然后跑

brew reinstall python

這解決了我的問題,然后我可以使用pip安裝包

好吧'然后

簡單簡單的事實就是這里提出的其他幾個人的混合答案:

  1. 系統完整性保護將對作為根Mac OS X系統目錄根目錄的/ Library的訪問權限限制。
  2. 你甚至不需要sudo或重新安裝系統包等。
  3. pip install --user nltk工作,“pip install -U ...”沒有
  4. pip install --user使用可訪問的$ HOME / Library / Python / 2.7 / bin目錄...您可以添加到shell路徑(通過〜/ .bash_profile等)。
  5. 這比多次安裝python並需要brew等更優雅。

阿門

如果您已經創建了/ usr / local目錄,那么在終端中運行以下命令:

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

來自http://digitizor.com/2015/10/01/fix-homebrew-permissions-osx-el-capitan/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM