web-dev-qa-db-ja.com

OSX 10.11(El Capitan)にScrapyをインストールすると「OSエラー:[Errno 1] Operation not allowed」と表示されます(システム保全性保護)

Scip PythonフレームワークをOSX 10.11(El Capitan)にpipでインストールしようとしています。インストールスクリプトは必要なモジュールをダウンロードし、ある時点で次のエラーを返します。

OSError: [Errno 1] Operation not permitted: '/tmp/pip-nIfswi-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.Egg-info'

私は次のコマンドでOSX 10.11のrootless機能を無効にしようとしました:

Sudo nvram boot-args="rootless=0";Sudo reboot

しかし、マシンを再起動しても同じエラーが発生します。

私の仲間のStackExchangersから何か手がかりや考えはありますか?

それが助けになれば、完全なスクリプト出力は次のとおりです。

Sudo -s pip install scrapy
Collecting scrapy
  Downloading Scrapy-1.0.2-py2-none-any.whl (290kB)
    100% |████████████████████████████████| 290kB 345kB/s 
Requirement already satisfied (use --upgrade to upgrade): cssselect>=0.9 in /Library/Python/2.7/site-packages (from scrapy)
Requirement already satisfied (use --upgrade to upgrade): queuelib in /Library/Python/2.7/site-packages (from scrapy)
Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from scrapy)
Collecting w3lib>=1.8.0 (from scrapy)
  Downloading w3lib-1.12.0-py2.py3-none-any.whl
Collecting lxml (from scrapy)
  Downloading lxml-3.4.4.tar.gz (3.5MB)
    100% |████████████████████████████████| 3.5MB 112kB/s 
Collecting Twisted>=10.0.0 (from scrapy)
  Downloading Twisted-15.3.0.tar.bz2 (4.4MB)
    100% |████████████████████████████████| 4.4MB 94kB/s 
Collecting six>=1.5.2 (from scrapy)
  Downloading six-1.9.0-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): zope.interface>=3.6.0 in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from Twisted>=10.0.0->scrapy)
Requirement already satisfied (use --upgrade to upgrade): setuptools in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from zope.interface>=3.6.0->Twisted>=10.0.0->scrapy)
Installing collected packages: six, w3lib, lxml, Twisted, scrapy
  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-7.1.0-py2.7.Egg/pip/basecommand.py", line 223, in main
status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip-7.1.0-py2.7.Egg/pip/commands/install.py", line 299, in run
root=options.root_path,
  File "/Library/Python/2.7/site-packages/pip-7.1.0-py2.7.Egg/pip/req/req_set.py", line 640, in install
requirement.uninstall(auto_confirm=True)
  File "/Library/Python/2.7/site-packages/pip-7.1.0-py2.7.Egg/pip/req/req_install.py", line 726, in uninstall
paths_to_remove.remove(auto_confirm)
  File "/Library/Python/2.7/site-packages/pip-7.1.0-py2.7.Egg/pip/req/req_uninstall.py", line 125, in remove
renames(path, new_path)
  File "/Library/Python/2.7/site-packages/pip-7.1.0-py2.7.Egg/pip/utils/__init__.py", line 314, 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-nIfswi-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.Egg-info'
203
Luis U.

また、OS Xをハッキングすることは絶対に必要ではないと思います。

私はそれをやって解決することができました

brew install python

新しいEl Capitanに付属のpython/pipを使用することにはいくつか問題があるようです。

148
Mario
pip install --ignore-installed six

トリックをしますか。

出典: github.com/pypa/pip/issues/3165

397
Sath

他の答えが言ったように、それは新しいSystem Integrity Protectionによるものですが、他の答えは複雑すぎると思います。

現在のユーザーでそのパッケージを使用するだけの場合は、--userフラグを使用することで、SIPを無効にする必要なしに、問題なくインストールできます。このような:

Sudo pip install --user packagename
86
dietbacon

投票の多い回答は私にはうまくいきませんでした。ElCapitanのユーザーにはうまくいったようです。しかしMacOS Sierraユーザーのために次のステップを試してください。

  1. brew install python
  2. Sudo pip install --user <package name>
38
LYu

警告

Mac上のシステムPythonの変更に対して非常に強く提案します。多数の問題が発生する可能性があります。

特定のエラーは、現在のPythonインストールに影響を与えずに、インストーラーがScrapyの依存関係の解決に問題があることを示しています。システムは多くの重要なタスクにPythonを使用するため、システムのインストールを安定した状態に保つことが重要です

また、組み込みのセキュリティをバイパスする前に、他のすべての可能性を使い果たします

パッケージマネージャーソリューション:

virtualenv firstなどのPython仮想化ツールを調べてください。これにより、安全に実験できます。

Mac OSと競合することなく言語とソフトウェアを使用する別の便利なツールは Homebrew です。 MacPorts または FinkHomebrewはMacのパッケージマネージャーであり、安全に役立つ他の多くの言語とツールを試してみました。

「独自のロール」ソフトウェアのインストール:

パッケージマネージャーのアプローチが気に入らない場合は、/usr/localパスを使用するか、別のPythonインストールをインストールするために/opt/localディレクトリを作成し、.bashrcでパスを修正します。これらのソリューションのルートを有効にする必要があることに注意してください。

とにかくそれを行う方法:

セキュリティチェックを絶対に無効にする必要がある場合(そして、システムの言語とリソースをいじる以外の何かのために心から願っています)、一時的に無効にすることができます システム整合性保護を無効にする の方法に関するこの投稿のテクニックを使用して、再度有効にします。

23
rholmes

これは私のためのトリックをしました:

   Sudo pip install scrapy --ignore-installed six
16
Roger

El Capitanの新機能である "System Integrity Protection"を無効にするべきです。

まず、あなたの端末でrootless configのコマンドを実行します。

# nvram boot-args="rootless=0"
# reboot

その後、あなたは回復パーティションの端末(回復OS)で以下のコマンドを実行する必要があります

# csrutil disable
# reboot

私はそのような問題を解決したところです。最初の部分が必要かどうかわかりません。好きなように試してください。

- - 警告

すべてうまくいったら、もう一度SIPを有効にしてください。

復旧モードで再起動してターミナルで実行するだけです。

# csrutil enable

csrutil: システムの整合性保護の設定

12
Ergun Ozyurt

El Capitanでpip経由でAWSをインストールしようとしましたが、このエラーが表示されます

OSエラー:[Errno 1]操作は許可されていません: '/var/folders/wm/jhnj0g_s16gb36y8kwvrgm7h0000gp/T/pip-wTnb_D-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/ix-thon/thonpython 1.4.1-py2.7.Egg-info '

私は答えを見つけました ここ

Sudo -H pip install awscli --upgrade --ignore-installed six

わたしにはできる :)

12
Evelin Ponce

私は私のMacOS Sierraで同じエラーを受けていました。私はこれらのステップを踏襲し、そしてスカーピーパッケージをうまくインストールすることができました。

1. Sudo pip install --ignore-installed six
2. Sudo pip install --ignore-installed scrapy

MacBook-Air:~ shree$ scrapy version
Scrapy 1.4.0
8
skipper21

これは私にとってトリックでした。

Sudo pip install --ignore-installed scrapy

5
Miss Haha

いくつかの答えの組み合わせを試してみましたが、これは結局うまくいきました:

Sudo -H pip install --upgrade --ignore-installed awsebcli

乾杯

4
saza

もう一度pythonをインストールしてください。

pythonをインストールする

もう一度やってみる:

Sudo pipインストールスクラップ

私のために働く、それが助けることができると思います

2
dominicli

Macを再起動します - >起動チャイムの後に "Command + R"を押します - > OS Xユーティリティを開きます - >端末を開き、 "csrutil disable"と入力します - > OS Xを再起動 - >端末を開き、 "csrutil status"をチェック

1
Sandeep

Pip3の代わりにpipを使用してpython3 libをpythonフォルダーにインストールしようとすると、そのような動作が達成されることがあります。

1
user3860984

このコマンドは完璧に動作します:D

Sudo -H pip install --upgrade package_name --ignore-installed 6

1
  1. - SIP(​​system Integrity Protection)を閉じてから再起動し、command + Rを押してデバッグモードに入り、次にterminalを選択します。csrutil disable reboot

2。

Sudo C_INCLUDE_PATH = /アプリケーション/ Xcode.app /コンテンツ/ Developer/Platforms/MacOSX.platform/Developer/SDK/MacOSX10.11.sdk/usr/include/libxml2:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX .platform/Developer/SDK/MacOSX10.11.sdk/usr/include/libxml2/libxml:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/ピップインストールscrapyを含む - ignoreインストール6

3. - 古い6を削除して、もう一度インストールします。Sudo rm -rf /ライブラリ/Python/2.7/site-packages/six* Sudo rm -rf /システム/ライブラリ/Frameworks/Python.framework/Versions/2.7/Extras/ lib/python/six * Sudo pipインストール6

4. - csrutilを有効にして再起動します

- いまいましい作品

0
jimmyzhouj