Installieren Sie Scrapy in einer Python Anaconda-Umgebung

Einführung

Ich dachte darüber nach, einfach mit Python zu kratzen und entschied mich für Scrapy, aber welches sollte ich verwenden, um Python überhaupt einzurichten? Ich war besorgt darüber und Scrapy funktionierte nicht richtig, so dass ich in einigen Fällen stecken blieb, also schreibe ich ein Memo darüber, wie man es löst.

Politik

Das Python-Paket und die Umgebung enthalten verschiedene Tools, und ich frage mich, welches ich verwenden soll. Ich habe die folgende Umgebung gewählt, weil ich die Umgebung einfach mit so wenig Werkzeugen wie möglich einstellen möchte.

pyenv + anaconda

Verwenden Sie pyenv für die Python-Versionskontrolle und conda, ein Anaconda-Tool, für die Verwaltung von Paketen und virtuellen Umgebungen. Die folgenden Artikel waren für diese Auswahl sehr hilfreich.

Aufbau einer Python-Umgebung für diejenigen, die Datenwissenschaftler 2016 werden möchten

Systemumgebung

Derzeit verwende ich Mac nur für die Entwicklung, daher ist dieser Artikel nur für Mac (OSX).

Python-Installation

Der Mac wird standardmäßig mit Python 2.x geliefert, aber es scheint, dass die Aktualisierung passt. Lassen Sie also das System-Python unverändert und installieren Sie das Python, das Sie separat mit pyenv verwenden möchten. Es ist auch unwahrscheinlich, dass Sie die verschiedenen Python-Bibliotheken selten verwenden. Daher ist es praktisch, Anaconda zu verwenden, ein Paket aller wichtigen Bibliotheken. Wenn die Anakonda zu groß ist, gibt es auch eine minimale Minikonda.

Installieren Sie pyenv

Es wird gesagt, dass die Installation von Anaconda direkt auf dem Mac mit Homebrew in Konflikt steht (siehe obigen Artikel). Daher ist es besser, Pyenv zu verwenden, und verschiedene andere Pakete als Anaconda können problemlos verwendet werden.

Verwenden Sie zuerst Homebrew, um Pyenv zu installieren.

$ brew install pyenv
$ echo 'export PYENV_ROOT="${HOME}/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="${PYENV_ROOT}/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

$ exec $SHELL -l

Installation von Anaconda

Die Pakete, die mit pyenv installiert werden können

$ pyenv install -l

Sie können es bei sehen. Für Anaconda sind derzeit die neuesten Versionen von Python2 und Python3 verfügbar

  anaconda2-4.3.0
  anaconda3-4.3.0

Es ist geworden. Installieren Sie hier anaconda3-4.3.0.

$ pyenv install anaconda3-4.3.0

Die Installation dauert sehr lange. Machen Sie daher bitte eine Kaffeepause.

Anaconda-Einstellungen

Mit dem obigen Befehl allein können Sie die installierte Python (Anaconda) nicht verwenden. Um es systemweit nutzen zu können

$ pyenv global anaconda3-4.3.0

Wird besorgt. Sie können die aktuellen Einstellungen mit dem folgenden Befehl überprüfen.

$ pyenv version
anaconda3-4.3.0 (set by /Users/tetsuo/.pyenv/version)

Sie können auch die Python-Pakete (verwaltet von pyenv) sehen, die auf Ihren Mac heruntergeladen wurden.

$ pyenv versions
  system
  3.6.0
* anaconda3-4.3.0 (set by /Users/tetsuo/.pyenv/version)

Wird besorgt. Wenn Sie Python in diesem Zustand starten,

$ python
Python 3.6.0 |Anaconda 4.3.0 (x86_64)| (default, Dec 23 2016, 13:19:00)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Und Sie können sehen, dass Python3 des Anaconda-Pakets funktioniert.

Scrapy-Installation

Sie können die Liste der von Anaconda installierten Bibliotheken mit dem folgenden Befehl anzeigen.

$ conda list
# packages in environment at /Users/tetsuo/.pyenv/versions/anaconda3-4.3.0:
#
_license                  1.1                      py36_1
alabaster                 0.7.9                    py36_0
anaconda                  4.3.0               np111py36_0
anaconda-client           1.6.0                    py36_0
anaconda-navigator        1.4.3                    py36_0
appnope                   0.1.0                    py36_0
  |

Leider ist Scrapy nicht installiert, installieren Sie es also separat. Scrapy-Installation Normalerweise wird pip verwendet, aber da ich es mit conda verwalten möchte, installiere ich es mit conda anstelle von pip. Überprüfen Sie zunächst, ob die Konda kratzig ist.

$ conda search scrapy
Fetching package metadata .........
scrapy                       0.16.4                   py26_0  defaults
                             0.16.4                   py27_0  defaults
                             0.24.4                   py27_0  defaults
                             1.0.1                    py27_0  defaults
                             1.0.3                    py27_0  defaults
                             1.1.1                    py27_0  defaults
                             1.1.1                    py34_0  defaults
                             1.1.1                    py35_0  defaults
                             1.1.1                    py36_0  defaults

Da Scrapy auch registriert ist, können Sie es mit conda installieren. Wenn Sie jedoch die neueste Version von Scrapy installieren, wird auch die neueste Version der intern verwendeten verdrehten Bibliothek installiert. Aber ein Scrapy Bug? Wenn Sie also beim Scraping Twisted nach Version 16.6 verwenden

TypeError: 'float' object is not iterable

Und stoppen. Referenz TypeError: 'float'-Objekt ist nicht iterierbar (auf Twisted dev + Scrapy dev) Daher geben Sie bei der Installation von Scrapy auch die verdrehte Version an (Sie können auch herausfinden, welche verdrehte Version Sie mit `conda search twisted `verwenden können).

$ conda install scrapy twisted=16.6.0

Sie haben jetzt auch Scrapy installiert.

$ scrapy version
Scrapy 1.1.1

Schließlich

Jetzt haben Sie eine Umgebung, in der Python und Scrapy nur mit Pyenv und Anaconda verwendet werden. Wenn ich ab und zu Python verwende, kann ich mich nicht erinnern, wie viele Tools verwendet werden, und es braucht Zeit, um sich an die Umgebung zu erinnern. Darüber hinaus sind globale Systemeinstellungen erforderlich, um die Unterstützungsfunktionen von Programmen wie z. B. Linter im Editor verwenden zu können. Deshalb suchte ich nach einer Methode, die mit so wenig Tools wie möglich einfach erstellt werden kann, und erstellte eine Umgebung, die mit nur zwei Tools, pyenv und conda, alles von der Python-Versionsverwaltung bis hin zu virtuellen Umgebungen abwickelt. Jetzt funktioniert die Support-Funktion des Editors problemlos.

Bei Verwendung der virtuellen Umgebung von conda tritt jedoch das Problem auf, dass der Aktivierungsbefehl mit pyenv in Konflikt steht und nicht funktioniert. Dies ist auch leicht zu lösen, daher bin ich vorerst mit dieser Umgebung zufrieden. Referenz 3 Arten von Problemumgehungen zur Aktivierung des Kollisionsproblems bei gleichzeitiger Existenz von Pyenv und Anaconda

Recommended Posts

Installieren Sie Scrapy in einer Python Anaconda-Umgebung
Installieren Sie Tensorflow in einer anaconda + python3.5-Umgebung
Installieren Sie die Python-Umgebung mit Anaconda
Python 3.3 mit Anaconda
Installieren Sie Scrapy auf Python3
virtuelle Umgebung in Python
Entwicklungsumgebung in Python
Installieren Sie das Python-Paket in einer Offline-Umgebung
Installieren Sie Python 3.5.1 + numpy + scipy + α in einer Windows-Umgebung
Verwenden Sie Python in einer Anaconda-Umgebung mit VS-Code
Python + Anaconda + Pycharm-Umgebungskonstruktion
Verwenden Sie Anaconda in einer Pyenv-Umgebung
Behandeln Sie Umgebungsvariablen in Python
Pip-Installation in einer Proxy-Umgebung
Konstruktionsverfahren für die Anaconda3-Python-Umgebung
Python-Installation in 2 Zeilen @Windows
Verfahren zur Installation von TensorFlow in einer Fischschalenumgebung (Anaconda 4.0.0)
[Für Anfänger] Installieren Sie das Paket in der Anaconda-Umgebung (Janome)
So installieren Sie Python mit Anaconda
Aufbau einer Anaconda-Python-Umgebung unter Windows 10
Python2.7-Installation in einer Windows 32-Bit-Umgebung
Installieren Sie Python 3.7 Anaconda auf dem MAC, aber Python 2
Verschiedene Anaconda-Einstellungen in der Windows 10-Umgebung
Python-Umgebungskonstruktion (Pyenv, Anaconda, Tensorflow)
Windows 10: Installieren der MeCab-Bibliothek für Python
Scikit-learn kann nicht in Python installiert werden
Installieren Sie die Python-Entwicklungsumgebung unter Windows 10
Installieren Sie CaboCha in der Ubuntu-Umgebung und rufen Sie es mit Python auf.
Python3.6-Umgebungskonstruktion (unter Verwendung der Win-Umgebung Anaconda)
Wie wäre es mit Anaconda zum Erstellen einer maschinellen Lernumgebung mit Python?
Installieren Sie Networkx in der Python 3.7-Umgebung zur Verwendung in Malware Data Science-Büchern
Jupyter Notebook 6.0.2 kann nicht in der in Anaconda erstellten Python 2.7-Umgebung installiert werden
Installieren Sie Django in einer virtuellen Pipenv-Umgebung
[Python] Erstellen einer Umgebung mit Anaconda [Mac]
Konstruktionsverfahren für die Python (Anaconda) -Entwicklungsumgebung (SpringToolsSuites) _2020.4
Ändern Sie die Python 64-Bit-Umgebung mit Anaconda in eine 32-Bit-Umgebung
Installieren Sie Pyaudio, um Wellen in Python zu spielen
Methode zum Erstellen einer Python-Umgebung in Xcode 6
[Python] Erstellen Sie mit Anaconda eine virtuelle Umgebung
Schritte zum Installieren der Python-Umgebung unter Ubuntu
Das Ergebnis der Installation von Python auf Anaconda
Erstellen Sie eine Python-Umgebung mit Anaconda auf einem Mac
Verweisen auf Umgebungsvariablen in Python in Blender
Installieren Sie Python3 mit Pythonz in einer Macports-Umgebung
Verwalten Sie Python-Pakete, um sie in Containern zu installieren
So fügen Sie der Anaconda-Umgebung ein Python-Modul hinzu
Installieren Sie rJava unter Linux in der R3.6-Umgebung.
Erstellen einer virtuellen Umgebung in einer Anaconda-Umgebung
Installieren Sie CaboCha in einer Umgebung, die nicht von Anaconda stammt (Win).
Verstümmelte Python-Zeichen in der Windows + Git Bash-Umgebung
Installieren Sie das Python-Modul in einem beliebigen Verzeichnis
Installieren Sie das Paket in einer Offline-Umgebung
Einführung von sip-4.14 in der Python3.2.2-Umgebung mit MacOS 10.7.4
Warum kann ich matplotlib nicht mit Python installieren? !!
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Geokodierung in Python