Ich versuche, das Scrapy Python-Framework in OSX 10.11 (El Capitan) über pip zu installieren. Das Installationsskript lädt die erforderlichen Module herunter und gibt irgendwann den folgenden Fehler zurück:
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'
Ich habe versucht, die Rootless-Funktion in OSX 10.11 mit dem folgenden Befehl zu deaktivieren:
sudo nvram boot-args="rootless=0";sudo reboot
Beim Neustart des Computers wird jedoch immer noch der gleiche Fehler angezeigt.
Irgendwelche Hinweise oder Ideen von meinen StackExchangers?
Wenn es hilft, lautet die vollständige Skriptausgabe wie folgt:
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.
quelle
quelle
Antworten:
Ich denke auch, dass es absolut nicht notwendig ist, OS X zu hacken.
Ich konnte es lösen, indem ich a
Es scheint, dass die Verwendung von Python / Pip, das mit dem neuen El Capitan geliefert wird, einige Probleme hat.
quelle
brew install python3
könnte dies möglicherweise lösen, da auf neueren Systemen python3 jetzt die Standardpython ist.Würde den Trick machen.
Quelle: github.com/pypa/pip/issues/3165
quelle
sudo pip install --ignore-installed awscli
ImportError: cannot import name xmlrpc_client
--ignore-installed
flag hat den Trick für den AWS Elastic Beanstalk Cli auch für mich gemacht. Endlich ...sudo pip install --ignore-installed scrapy
.Wie die anderen Antworten sagten, liegt es am neuen Systemintegritätsschutz, aber ich glaube, die anderen Antworten sind zu kompliziert.
Wenn Sie dieses Paket nur im aktuellen Benutzer verwenden möchten, sollten Sie es problemlos installieren können, ohne das SIP mithilfe des
--user
Flags deaktivieren zu müssen . So was:quelle
sudo pip install mkvirtualenv --ignore-installed six
wie erwartet und setzt virtualenvwrapper.sh in / usr / local / binDie hoch bewerteten Antworten haben bei mir nicht funktioniert, es scheint bei El Capitan-Benutzern zu funktionieren. Versuchen Sie für MacOS Sierra-Benutzer die folgenden Schritte
brew install python
sudo pip install --user <package name>
quelle
sudo pip install --user <package name>
arbeitete für mich, ohne die Notwendigkeit, die Python neu zu installierenWarnungen
Ich würde sehr stark davon abraten, das System Python auf dem Mac zu ändern. Es können zahlreiche Probleme auftreten.
Ihr spezieller Fehler zeigt, dass das Installationsprogramm Probleme beim Auflösen der Abhängigkeiten für Scrapy hat, ohne die aktuelle Python-Installation zu beeinträchtigen. Das System verwendet Python für eine Reihe wichtiger Aufgaben. Daher ist es wichtig, die Systeminstallation stabil und wie ursprünglich von Apple installiert zu halten .
Ich würde auch alle anderen Möglichkeiten ausschöpfen, bevor ich die eingebaute Sicherheit umgehen würde.
Paketmanager-Lösungen:
Schauen Sie sich zuerst ein Python-Virtualisierungstool wie virtualenv an . Auf diese Weise können Sie sicher experimentieren.
Ein weiteres nützliches Tool, um Sprachen und Software zu verwenden, ohne Konflikte mit Ihrem Mac OS zu verursachen, ist Homebrew . Wie MacPorts oder Fink ist Homebrew ein Paketmanager für Mac und nützlich, um viele andere Sprachen und Tools sicher auszuprobieren.
"Roll your own" -Softwareinstallationen:
Wenn Ihnen der Paketmanager-Ansatz nicht gefällt, können Sie den
/usr/local
Pfad verwenden oder ein/opt/local
Verzeichnis zum Installieren einer alternativen Python-Installation erstellen und Ihre Pfade in Ihrem installieren.bashrc
. Beachten Sie, dass Sie root für diese Lösungen aktivieren müssen.Wie es trotzdem geht:
Wenn Sie unbedingt die Sicherheitsüberprüfung deaktivieren muss (und ich hoffe , es ist etwas anderes , als mit den Systemsprachen und Ressourcen durcheinander), können Sie es vorübergehend deaktivieren und wieder aktivieren einige der Techniken , die in diesem Beitrag, wie man mit Deaktivieren Sie die System Integritätsschutz .
quelle
Das hat den Trick für mich getan:
quelle
sudo pip install virtualenvwrapper --ignore-installed six
auch, um diesen Fehler zu vermeiden: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'
Sie sollten "System Integrity Protection" deaktivieren, eine neue Funktion in El Capitan.
Zunächst sollten Sie den Befehl für rootless config auf Ihrem Terminal ausführen
Führen Sie dann den folgenden Befehl auf dem Terminal der Wiederherstellungspartition (Wiederherstellungsbetriebssystem) aus.
Ich habe gerade mein Problem so gelöst. Ich bin mir nicht sicher, ob der erste Teil notwendig ist. Versuchen Sie, wie Sie möchten.
--WARNUNG
Sie sollten SIP wieder aktivieren, nachdem alles funktioniert hat.
Starten Sie einfach erneut im Wiederherstellungsmodus und führen Sie es im Terminal aus
csrutil: Konfigurieren des Systemintegritätsschutzes
quelle
Ich habe versucht, AWS über pip in El Capitan zu installieren, aber dieser Fehler wird angezeigt
Ich habe die Antwort hier gefunden
Für mich geht das :)
quelle
Auf meinem MacOS Sierra wurde der gleiche Fehler angezeigt. Ich habe diese Schritte befolgt und konnte das Scarpy-Paket erfolgreich installieren.
quelle
Das hat den Trick für mich getan.
sudo pip install --ignore-installierte Scrapy
quelle
Versuchte eine Kombination einiger Antworten und dies funktionierte schließlich:
sudo -H pip install --upgrade --ignore-installed awsebcli
Prost
quelle
Installieren Sie Python erneut:
Versuche es noch einmal:
funktioniert für mich, hoffe es kann helfen
quelle
Starten Sie den Mac neu -> halten Sie "Command + R" nach dem Startton gedrückt -> Öffnet OS X Utilities -> Open Terminal und geben Sie "csrutil disable" ein -> OS X neu starten -> Open Terminal und überprüfen Sie "csrutil status"
quelle
Dieser Befehl würde einwandfrei funktionieren: D.
sudo -H pip install --upgrade package_name --ignore-installierte sechs
quelle
Manchmal kann ein solches Verhalten erreicht werden, wenn Sie versuchen, python3 lib im Ordner python2 mit pip anstelle von pip3 zu installieren.
quelle
2.
sudo C_INCLUDE_PATH = / Applications / Xcode.app / Contents / Developer / Platforms / MacOSX.platform / Developer / SDKs / MacOSX10.11.sdk / usr / include / libxml2: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX .platform / Developer / SDKs / MacOSX10.11.sdk / usr / include / libxml2 / libxml: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/ Include Pip Install Scrapy --ignore-Installed Six
3. - Entfernen Sie dann die alten sechs, und installieren Sie sie erneut. lib / python / six * sudo pip installiere sechs
4. - Setzen Sie es dann zurück. Csrutil enable reboot
- beschissen funktioniert jetzt
quelle
es funktioniert bei mir:
quelle
Ich habe irgendwo anders auf der Strecke eine Abhängigkeit vermisst, also habe ich die anderen Anforderungen für das Projekt wie folgt installiert:
quelle