Soru OSX 10.11'de (El Capitan) (Sistem Bütünlüğü Koruması) Scrapy'yi kurarken “OSError: [Errno 1] Çalışmaya İzin Verilmiyor”


OSX 10.11'de (El Capitan) Scrapy Python çerçevesini pip ile kurmaya çalışıyorum. Yükleme komut dosyası gerekli modülleri indirir ve bir noktada aşağıdaki hatayı döndürür:

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'deki köksüz özelliği aşağıdaki komutla devre dışı bırakmayı denedim:

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

ancak makine yeniden başlatıldığında hala aynı hatayı alıyorum.

Arkadaşım StackExchangers'dan bir ipucu veya fikri var mı?

Eğer yardımcı olursa, tam komut dosyası çıkışı şöyledir:

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'

186
2017-08-09 01:00


Menşei


Olası kopya Mac OS El Capitan'da nltk kurulamıyor - hectorpal
Sorular burada tartışılıyor: apple.stackexchange.com/questions/209572/... - hectorpal
Belki de SIP'yi devre dışı bırakmadan size yardımcı oluyorsunuz: stackoverflow.com/a/32930419/3090526 - nvg58
Ben pip kullanarak "virtualenvwrapper" yüklemeyi denediğimde tam olarak aynı sorun vardı ama bu komut benim için çalıştı: "sudo pip install --ignore yüklü virtualenvwrapper" Yani bir ağrılı gitmek zorunda kalmadan da sizin durumunuza uygulanabilir dolambaçlı - tripleDOT


Cevaplar:


Ayrıca, OS X'i kullanmaya başlamak için kesinlikle gerekli olmadığını düşünüyorum.

Bunu çözmeyi başarabiliyordum

brew install python

Yeni El Capitan ile gelen python / pip kullanarak bazı sorunları var gibi görünüyor.


140
2017-10-20 19:40



Sorunumu çözdüm, hack yok! Teşekkürler!! - Jorge Salcedo
bu kabul edilen cevap olmalı - Yerken
Benim için de çalıştım ve bir sonraki Python 2.7.X'i aldım. Bu cevap kazanmalı - Russell_A
Bu El Capitan Mac kullanıcıları için en iyi cevaptır - zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
Benim için çalışmıyor, Sierra 10.12.6 - Tom


pip install --ignore-installed six

Hile yapardı.

Kaynak: github.com/pypa/pip/issues/3165


388
2017-10-14 22:12



Bu, El Capitan'da awscli'yi python yüklemesiyle uğraşmadan kurduğumda benim için iyi çalıştı: sudo pip install --ignore-installed awscli - Luke
Benim için çalıştı: +1: - Chris Lam
Bu yöntemle kurulduğunda scrapy içe aktarılamadı ImportError: cannot import name xmlrpc_client - harinsa
--ignore-installed Bayrak benim için de AWS Elastik Beanstalk Cli için hile yaptı. En sonunda... - JohnZ
Bu benim için de iyi çalıştı. Bence bu doğru cevap olmalı. - Paul Carlton


Diğer cevapların da söylediği gibi, yeni Sistem Bütünlüğü Koruması yüzünden, ama diğer cevapların aşırı derecede karmaşık olduğuna inanıyorum.

Bu paketi yalnızca geçerli kullanıcıyla kullanacaksanız, SIP'yi devre dışı bırakmadan, yalnızca iyi bir şekilde kurmanız gerekir. --user bayrağı. Bunun gibi:

sudo pip install --user packagename

79
2017-10-07 02:47



Bu farklı bayrakların nasıl çalıştığını tam olarak açıklayamıyorum, ama bu cevap bana en mantıklı geliyor. (Ayrıca, işe yaradı :) - xdhmoore
Bu benim için MacOS Sierra'da çalıştı - styl3r
Bu benim için tek çalışan çözüm, teşekkürler! Ayrıca macOS sierra üzerinde - LYu
Teşekkürler, bana yardım etti! - Tom
MacOS Sierra için çalıştım, teşekkürler! - nolasaint


Yüksek oy veren cevaplar benim için işe yaramadı, EI Capitan kullanıcıları için çalışıyor gibi görünüyor. Ancak MacOS Sierra kullanıcıları için aşağıdaki adımları deneyin

  1. brew install python
  2. sudo pip install --user <package name>

30
2017-09-27 21:19



Bu cevap benim için yüksek sierra'da çalıştı. Teşekkürler - mbouzahir
Teşekkürler, bu benim için çalıştı. - Biranchi
sudo pip install --user <package name> python'u yeniden yüklemeye gerek kalmadan benim için çalıştı - Datageek


Uyarılar

öneririm çok kuvvetlice Mac'te Python sistemini değiştirmeye karşı; Oluşabilecek sayısız sorun var.

Belirgin hatayız, yükleyicinin mevcut Python yüklemesini etkilemeden Scrapy bağımlılıklarını çözme sorunları olduğunu göstermektedir. Sistem, bir dizi önemli görev için Python'u kullanır. sistem kurulumunu sabit tutmak önemlidir ve Apple tarafından orijinal olarak kuruldu.

Bende diğer tüm olasılıkları tüket yerleşik güvenlik atlayarak önce.

Paket Yöneticisi Çözümleri:

Lütfen bir Python sanallaştırma aracına bakınız. virtualenv ilk; Bu, güvenli bir şekilde denemenizi sağlayacaktır.

Mac OS'unuzla çakışmadan dilleri ve yazılımı kullanmak için başka bir kullanışlı araç ev yapımı içki. Sevmek MacPorts veya ispiyoncu, Homebrew, Mac için bir paket yöneticisidirve diğer birçok dili ve aracı güvenli bir şekilde denemek için kullanışlıdır.

"Kendi Rulonuzu Döndür" Yazılım Yüklemeleri:

Paket yöneticisi yaklaşımını beğenmezseniz, /usr/local yol veya bir /opt/local Alternatif bir Python yüklemesi yüklemek için dizini .bashrc. Bu çözümler için root'u etkinleştirmeniz gerekeceğini unutmayın.

Nasıl yapılır?

Güvenlik kontrolünü kesinlikle kapatmanız gerekiyorsa (ve sistem dilleri ve kaynakları ile uğraşmaktan başka bir şey için içtenlikle umuyoruz), bunu geçici olarak devre dışı bırakabilir ve bu yazıdaki bazı teknikleri kullanarak yeniden nasıl etkinleştirebilirsiniz? Sistem Bütünlüğü Korumasını Devre Dışı Bırak.


21
2017-08-09 01:21



Teşekkür ederim @rholmes, tavsiye ettiğiniz sanallaştırma aracını deneyeceğim. - Luis U.
Biraz zaman harcayan bir yatırım ve bazı komut satırı yeterliliğini gerektiriyor, ancak sonuç buna çok değer - Ruby (RVM), Perl, vb. İçin benzer sanal ortamları kullanıyorum. Homebrew, birçok başka dili ve aracı güvenli bir şekilde denemek için kullanışlıdır de. - rholmes


Bu benim için hile yaptı:

   sudo pip install scrapy --ignore-installed six

16
2018-06-14 17:36



Bu doğru cevap olmalı. - Matt The Ninja
Evet, bunun için çalışıyor sudo pip install virtualenvwrapper --ignore-installed six Ayrıca, bu hatayı önlemek: OSError: [Errno 1] Operation not permitted: '/tmp/..../System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info' - Rob
Tüm çözümleri denedim ama bu bir seferde doğru bir şekilde çözüldü! - Aksh1801


El Capitan'da yeni bir özellik olan "Sistem Bütünlüğü Korumasını" devre dışı bırakmalısınız.

İlk olarak, terminalinizde rootless config komutunu çalıştırmalısınız.

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

Ardından, aşağıdaki bölümü kurtarma bölümü terminalinde (Kurtarma İşletim Sistemi) çalıştırmalısınız.

# csrutil disable
# reboot

Sorunumu sadece böyle çözdüm. İlk bölümün gerekli olduğundan emin değilim. İstediğinizi deneyin.

--UYARI

Her şey çalıştıktan sonra SIP'yi tekrar etkinleştirmelisiniz;

Tekrar Kurtarma Moduna tekrar başlayın ve terminalde çalıştırın

# csrutil enable

csrutil: Sistem Bütünlüğü Korumasını Yapılandırma


12
2017-09-22 17:29



hayır hayır hayır. Bu, kullanıcı alanında çalışan bir kullanımdır. Bakınız stackoverflow.com/a/33024464/743638 Bu konuda nispeten basit bir şekilde. 1. işaretsiz çekirdek uzantılarından koruma devre dışı bırakılması 2. sistem ikili dosyalarını değiştirin 3. sistem yolları vb. Üzerinde inceleme ve montaj yapmak sadece foolhardy'dir. En azından TEMPORARILY'i SIP'yi kurulumdan sonraya kadar kaldırmanızı ve sonra tekrar açmanızı öneririz. - Sacrilicious
Bunu ben yapmam. Bu bela istiyor. Daha zarif bir çözüm yaklaşımı için cevabımı aşağıya bakın. - Mario
soru bir aydan fazla cevapsız kaldı. Sanırım bu, o zamanki tek “tamamlanabilir” çözümdü. Her kurulduktan sonra SIP'yi etkinleştirmek için cevabımı düzenleyeceğim. - Ergun Ozyurt


El Capitan'da AWS'yi pip ile kurmaya çalıştım ama bu hata ortaya çıktı

OSError: [Errno 1] İşlem izin verilmiyor:   '/var/folders/wm/jhnj0g_s16gb36y8kwvrgm7h0000gp/T/pip-wTnb_D-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg- bilgi'

Cevabı buldum İşte

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

Benim için çalışıyor :)


12
2018-04-28 17:40



Teşekkürler, bu benim için çalıştı. - manoj prashant k