Saya mencoba untuk menginstal kerangka Python Scrapy di OSX 10.11 (El Capitan) melalui pip. Skrip instalasi mengunduh modul yang diperlukan dan pada beberapa titik mengembalikan kesalahan berikut:
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'
Saya sudah mencoba untuk menonaktifkan fitur tanpa root di OSX 10.11 dengan perintah:
sudo nvram boot-args="rootless=0";sudo reboot
tapi saya masih mendapatkan kesalahan yang sama ketika mesin reboot.
Adakah petunjuk atau ide dari rekan StackExchangers saya?
Jika ini membantu, output skrip lengkap adalah sebagai berikut:
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'
python
macos
python-2.7
scrapy
Luis U.
sumber
sumber
Jawaban:
Saya juga berpikir sama sekali tidak perlu untuk mulai meretas OS X.
Saya bisa menyelesaikannya dengan melakukan a
Tampaknya menggunakan python / pip yang datang dengan El Capitan baru memiliki beberapa masalah.
sumber
brew install python3
bisa menyelesaikan ini karena pada sistem yang lebih baru python3 sekarang adalah python default.Akan melakukan triknya.
Sumber: github.com/pypa/pip/issues/3165
sumber
sudo pip install --ignore-installed awscli
ImportError: cannot import name xmlrpc_client
--ignore-installed
Bendera melakukan trik untuk AWS Elastic Beanstalk Cli untuk saya juga. Akhirnya ...sudo pip install --ignore-installed scrapy
.Seperti jawaban yang lain katakan, itu karena Perlindungan Integritas Sistem yang baru, tapi saya percaya jawaban lain terlalu rumit.
Jika Anda hanya akan menggunakan paket itu di pengguna saat ini, Anda harus dapat menginstalnya dengan baik, tanpa perlu menonaktifkan SIP, dengan menggunakan
--user
flag. Seperti ini:sumber
sudo pip install mkvirtualenv --ignore-installed six
berfungsi seperti yang diharapkan, menempatkan virtualenvwrapper.sh di / usr / local / binJawaban pilihan tinggi tidak berfungsi untuk saya, sepertinya berfungsi untuk pengguna El Capitan. Tetapi untuk pengguna MacOS Sierra coba langkah-langkah berikut
brew install python
sudo pip install --user <package name>
sumber
sudo pip install --user <package name>
bekerja untuk saya, tanpa perlu menginstal ulang pythonPeringatan
Saya akan menyarankan sangat menentang memodifikasi sistem Python di Mac; ada banyak masalah yang bisa terjadi.
Kesalahan khusus Anda menunjukkan bahwa penginstal memiliki masalah menyelesaikan dependensi untuk Scrapy tanpa memengaruhi instalasi Python saat ini. Sistem menggunakan Python untuk sejumlah tugas penting, jadi penting untuk menjaga instalasi sistem stabil dan seperti yang awalnya diinstal oleh Apple.
Saya juga akan menguras semua kemungkinan lain sebelum melewati keamanan bawaan.
Paket Manajer Solusi:
Silakan melihat ke dalam alat virtualisasi Python seperti virtualenv pertama; ini akan memungkinkan Anda untuk bereksperimen dengan aman.
Alat lain yang bermanfaat untuk menggunakan bahasa dan perangkat lunak tanpa bertentangan dengan Mac OS Anda adalah Homebrew . Seperti MacPorts atau Fink , Homebrew adalah manajer paket untuk Mac , dan berguna untuk mencoba banyak bahasa dan alat lainnya dengan aman.
Pemasangan Perangkat Lunak "Roll your own":
Jika Anda tidak menyukai pendekatan manajer paket, Anda bisa menggunakan
/usr/local
path atau membuat/opt/local
direktori untuk menginstal instalasi Python alternatif dan memperbaiki jalur Anda di.bashrc
. Perhatikan bahwa Anda harus mengaktifkan root untuk solusi ini.Bagaimana cara melakukannya:
Jika Anda benar-benar harus menonaktifkan pemeriksaan keamanan (dan saya sangat berharap ini untuk sesuatu selain mengacaukan bahasa dan sumber daya sistem), Anda dapat menonaktifkannya sementara dan mengaktifkannya kembali menggunakan beberapa teknik dalam posting ini tentang cara Menonaktifkan Sistem. Perlindungan Integritas .
sumber
Ini melakukan trik untuk saya:
sumber
sudo pip install virtualenvwrapper --ignore-installed six
menghindari kesalahan ini: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'
Anda harus menonaktifkan "Perlindungan Integritas Sistem" yang merupakan fitur baru di El Capitan.
Pertama, Anda harus menjalankan perintah untuk konfigurasi root pada terminal Anda
Kemudian, Anda harus menjalankan perintah di bawah ini pada terminal partisi pemulihan (Recovery OS)
Saya baru saja menyelesaikan masalah saya seperti itu. Saya tidak yakin bahwa bagian pertama diperlukan. Cobalah sesuka Anda.
--PERINGATAN
Anda harus mengaktifkan SIP lagi setelah semuanya berfungsi;
Cukup reboot lagi ke Recovery Mode dan jalankan di terminal
csrutil: Konfigurasi Perlindungan Integritas Sistem
sumber
Saya mencoba menginstal AWS melalui pip di El Capitan tetapi kesalahan ini muncul
Saya menemukan jawabannya di sini
Ini bekerja untuk saya :)
sumber
Saya mendapatkan kesalahan yang sama pada MacOS Sierra saya. Saya mengikuti langkah-langkah ini dan berhasil menginstal paket scarpy.
sumber
Ini berhasil bagi saya.
sudo pip instal --ignore-instal goresan
sumber
Mencoba kombinasi beberapa jawaban dan ini akhirnya berhasil:
sudo -H pip install --upgrade --ignore-installed awsebcli
Bersulang
sumber
pasang python lagi:
coba lagi:
bekerja untuk saya, semoga bisa membantu
sumber
Nyalakan kembali Mac -> tahan "Command + R" setelah startup berbunyi -> Buka Utilitas OS X -> Buka Terminal dan ketik "csrutil disable" -> Reboot OS X -> Buka Terminal dan periksa "status csrutil"
sumber
Perintah ini akan bekerja dengan baik: D
sudo -H pip instal --upgrade package_name --ignore -install enam
sumber
Kadang-kadang perilaku seperti itu dapat dicapai jika Anda mencoba menginstal python3 lib di folder python2 menggunakan pip, bukan pip3.
sumber
2.
sudo C_INCLUDE_PATH = / Aplikasi / Xcode.app / Isi / Pengembang / Platform / MacOSX.platform / Pengembang / SDKs / MacOSX10.11.sdk / usr / include / libxml2: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX .platform / Pengembang / SDKs / MacOSX10.11.sdk / usr / include / libxml2 / libxml: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/ termasuk pip install scrapy --ignore -install six
3. - lalu hapus enam lama, pasang lagi sudo rm -rf /Library/Python/2.7/site-packages/six* sudo rm -rf /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/ lib / python / six * sudo pip instal enam
4. - lalu atur kembali csrutil aktifkan reboot
- pekerjaan jelek sekarang
sumber
Ini bekerja untuk saya:
sumber
Saya kehilangan ketergantungan di tempat lain, jadi saya menginstal persyaratan lain untuk proyek seperti ini:
sumber