web-dev-qa-db-ja.com

Mac OS El Capitanにnltkをインストールできません

やった Sudo pip install -U nltk 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'

基本的に、6を1.4.1から1.9.0にアップグレードすることはできません。私はそれを別にしようとしましたが、同じエラーが発生しました。

一部の人々は他のpython El Capitanへのインストールの問題に直面しているので、これが原因かどうか疑問に思っているので、El Capitanについて言及します。

誰もこの問題を解決する方法を知っていますか?

25
proutray

問題を修正する方法は次のとおりです。

まず、Xcode CLIをインストールします。

xcode-select --install

次に、Pythonを再インストールします。

Sudo brew reinstall python

最後に、nltkをインストールします。

Sudo pip install -U nltk

それが役に立てば幸い :)

38
nvg58

私はそこにたくさんの「醸造ブースター」があることを知っていますが、別のpythonを非常に基本的なものに使用する必要はありません。依存関係がpipで見つかった場合/彼らはサウスパークで「悪い時間を過ごすだろう」と言ったように、システム全体でこの変更を行う必要がない場合は、pip install --user <package>を追加して$HOME/Library/Python/2.7/binを追加するだけです。シェルパス(~/.bash_profileなどを使用)。

17
Sacrilicious

これらは両方とも6つのバージョン1.41になります。

pip install --ignore-installed six

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

醸造の回避策は理にかなっているものです、imo。 Appleに独自のPython El Capitanのコピーが必要な場合、それを使用できます。Mineはここにあります:/usr/local/bin/python

8
Monte Hayward

システムPythonは、 'root'によるシステムディレクトリへのすべての変更を無効にするまったく新しいシステム整合性保護メカニズムのため、pipではアップグレードまたは変更できません。SIP他の場所で利用可能な指示を介して復旧環境から(例 http://www.howtogeek.com/230424/how-to-disable-system-integrity-protection-on-a-mac-and -why-you-shouldnt / )しかし、より良い解決策は--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
eric.green

同じ問題がありました。 brewを使用してパッケージを管理します。最初にbrew doctorを実行する必要があります。セットアップの問題がリストされ、修正されます。私の場合、/ usr/localは書き込み可能ではなかったため、修正する必要がありました。

次に実行する

brew reinstall python

これで問題が解決し、pipを使用してパッケージをインストールできました

2
saggu

さて、それから

シンプルでシンプルでシンプルな真実は、ここに示されている他のいくつかのハイブリッド回答です:

  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ディレクトリを使用します。これは、シェルパスに追加できます(〜/ .bash_profileなどを使用)。
  5. これは、pythonを複数インストールし、brewなどを必要とするよりもはるかにエレガントです。

アーメン

/ usr/localディレクトリをすでに作成している場合は、ターミナルで次のコマンドを実行します。

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

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

0
user1797498