Neuere Versionen von Python enthalten standardmäßig pip, daher sind die Installationsanweisungen unter http://www.nltk.org/install.html veraltet.
Für moderne Installationen (unabhängig vom Betriebssystem) sollten die folgenden zwei Schritte ausreichen:
pip install nltk
python
ausführen und dann import nltk
Der Vorschlag, NumPy optional zu installieren, sollte mit Vorbehalten versehen werden, indem darauf hingewiesen wird, dass es ein funktionierendes Build-System erfordert, und Benutzer ziehen es möglicherweise vor, sich stattdessen auf die Empfehlungen zur Installation des vollständigen SciPy-Stack zu beziehen: http://scipy.org/install.html
Benutzer älterer Python-Versionen ohne bereits installiertes pip sind wahrscheinlich am besten bedient, indem sie sich auf die eigenen Installationsanweisungen von pip unter https://pip.pypa.io/en/latest/installing.html . beziehen
Für den Kontext, woher diese Anfrage kam, hatten wir einen neuen Python-Benutzer zu distutils-sig, der durch den Bootstrapping-Tanz setuptools/pip verwirrt war: https://mail.python.org/pipermail/distutils-sig/2015-May/026486 .html
Dieser Tanz _ist_ verwirrend, weshalb wir standardmäßig Pip anbieten.
Hey @ncoghlan ,
Hier ist mein früherer Versuch , Installationsdokumente zu schreiben, und die dazugehörige Diskussion: https://github.com/nltk/nltk/pull/697. Könntest du das bitte überprüfen und einwiegen? Ihre Erfahrung mit dem, was funktioniert und was nicht, wäre sehr hilfreich.
Ich denke, es ist eine gute Idee, mit den einfachen Anweisungen "Wenn Sie bereits Python und pip installiert und konfiguriert haben, führen Sie einfach 'pip install --user nltk'" Anweisungen zu führen, als ob das funktioniert, kann der Benutzer es einfach ausführen und verschieben an. Wenn Sie _annehmen_, dass es notwendig ist, ihnen Anweisungen zur Installation von Python zu geben, besteht die Gefahr, dass sie NLTK in den "zu harten" Korb legen und die Tatsache übersehen, dass es nur einen einzigen Befehl entfernt war.
Es lohnt sich dann zu fragen "Wie können diese einfachen Anweisungen fehlschlagen?". Die drei Hauptfälle:
Schließlich können Sie für eine erweiterte Nutzung (z. B. das Erlernen der Verwendung virtueller Umgebungen) auf https://packaging.python.org/en/latest/ und https://packaging.python.org/en/latest/ verweisen.
Der Schlüssel ist, sich auf "Wie kann ich einen Benutzer dazu bringen, NLTK in möglichst wenigen Schritten produktiv zu nutzen?", anstatt zu versuchen, ihm überflüssige Fähigkeiten (wie die Verwendung virtueller Umgebungen) beizubringen, die wahrscheinlich hilfreich sind auf Dauer, sondern sind zunächst nur eine Ablenkung vom ersten Aufstehen und Laufen. ("Das wird dir später hilfreich sein, vertrau mir" zieht fast nie die Aufmerksamkeit eines persönlichen Schülers auf sich und ist noch weniger effektiv, wenn es als Teil eines selbstgesteuerten Lernprozesses verwendet wird)
Die Prinzipien in @ncoghlans Vorschlag:
beides scheint mir genau richtig zu sein.
Danke @ncoghlan , @kmike. Ich habe die Anweisungen etwas vereinfacht (siehe http://www.nltk.org/install.html). Bevor ich mehr tue, wollte ich die beste Version des pip-Befehls überprüfen. Drei liegen auf dem Tisch:
pip install nltk
sudo pip install nltk
pip install --user nltk
All dies setzt voraus, dass pip im Pfad des Benutzers installiert ist. Welche Option oder Erklärung von Optionen ist wahrscheinlich die allgemeinste?
Es ist wahrscheinlich am besten mit:
pip install nltk
Es gibt derzeit Fälle, in denen dies nicht funktioniert (insbesondere System-Python-Installationen unter Linux), aber das ist ein bekanntes Problem mit dem Standardverhalten von pip: https://github.com/pypa/pip/issues/1668
Es lohnt sich möglicherweise, als Alternative "pip install --user nltk" vorzuschlagen, wenn die Erstinstallation mit einem Berechtigungsfehler fehlschlägt.
▶ pip install ntlk
Collecting ntlk
Could not find a version that satisfies the requirement ntlk (from versions: )
No matching distribution found for ntlk
Ist das zu diesem Zeitpunkt erwartetes Verhalten?
Soll ich von git kompilieren?
@txtsd Ihr Installationsbefehl enthält einen Tippfehler, da Sie ntlk
anstelle von nltk
(und pip/pypi implementieren derzeit keine Tippfehlervorschläge)
@ncoghlan Nun, das ist peinlich. Danke!
Kürzlich hat scikit-learn
Leute von pip
abgeschreckt und dem Paketmanager der Distribution oder conda
: http://scikit-learn.org/stable/install.html vertraut
Möglicherweise kann das Hinzufügen einer Conda-Installationsanweisungen zu http://www.nltk.org/install.html den Benutzern einige Zeit sparen, z. B. http://nlpworkgroup.postach.io/post/install-miniconda-python-for-nltk- on-windows , insbesondere für Windows-Benutzer.
@alvations guter Punkt bezüglich conda
. Dies ist wahrscheinlich der robusteste Weg, um eine funktionierende wissenschaftliche Python-Umgebung zu erhalten.
Sammeln von nlkt
Es konnte keine Version gefunden werden, die die Anforderung nlkt erfüllt (von Versionen: )
Keine passende Distribution für nlkt . gefunden
Habe dieses Problem und versuche nlkt zu installieren
Bitte helfen Sie mir, das Problem zu lösen, indem Sie Ubuntu 17.04 verwenden
@kafomambia Ihr Installationsbefehl enthält einen Tippfehler - die letzten beiden Buchstaben sind derzeit vertauscht. Sie möchten nltk
(für Natural Language ToolKit) anstelle Ihres aktuellen nlkt
.
Sammeln von nltk
Wiederholen (Retry(total=4, connect=None, read=None, redirect=None)) nach der Verbindung
Fehler durch 'NewConnectionError('
eine neue Verbindung: [Errno 11002] getaddrinfo failed',)': /simple/nltk/
Wiederholen (Retry(total=3, connect=None, read=None, redirect=None)) nach der Verbindung
Fehler durch 'NewConnectionError('
eine neue Verbindung: [Errno 11002] getaddrinfo failed',)': /simple/nltk/
Wiederholen (Retry(total=2, connect=None, read=None, redirect=None)) nach der Verbindung
Fehler durch 'NewConnectionError('
eine neue Verbindung: [Errno 11002] getaddrinfo failed',)': /simple/nltk/
Wiederholen (Retry(total=1, connect=None, read=None, redirect=None)) nach der Verbindung
Fehler durch 'NewConnectionError('
eine neue Verbindung: [Errno 11002] getaddrinfo failed',)': /simple/nltk/
Wiederholen (Retry(total=0, connect=None, read=None, redirect=None)) nach der Verbindung
Fehler durch 'NewConnectionError('
eine neue Verbindung: [Errno 11002] getaddrinfo failed',)': /simple/nltk/
Es konnte keine Version gefunden werden, die die Anforderung nltk erfüllt (von Versionen: )
Keine passende Distribution für nltk . gefunden
Ich erhalte den obigen Fehler, während ich versuche, nltk zu installieren (Python 3.5.2)
Hilfreichster Kommentar
@txtsd Ihr Installationsbefehl enthält einen Tippfehler, da Sie
ntlk
anstelle vonnltk
(und pip/pypi implementieren derzeit keine Tippfehlervorschläge)