Nltk: Die Warnung "Twython-Bibliothek wurde nicht installiert" entfernen?

Erstellt am 29. Juni 2018  ·  6Kommentare  ·  Quelle: nltk/nltk

Ich verwende nltk für die Stimmungsanalyse in einem Django-Projekt. Jedes Mal, wenn ich einen Befehl mit Djangos manage.py ausführe, erhalte ich diese Ausgabe:

/var/www/example.com/venv-example/lib/python3.5/site-packages/nltk/twitter/__init__.py:20: UserWarning: The twython library has not been installed. Some functionality from the twitter package will not be available.
  warnings.warn("The twython library has not been installed. "

Ich werde auch von Cron per E-Mail benachrichtigt, da Cron-E-Mails immer dann gesendet werden, wenn eine Ausgabe generiert wird. Könnte diese Warnung nur in der nltk-Dokumentation enthalten sein oder ist es wichtig, dass sie auch im Code enthalten ist?

installation twitter

Hilfreichster Kommentar

Ich finde dieses Problem auch ziemlich nervig. Wir möchten nicht mit der Twitter-Option installieren, da unsere Anwendung sie wahrscheinlich nie benötigt und wir unsere Docker-Images so schlank wie möglich halten möchten. Wir möchten auch keine Warnungen deaktivieren, da dies echte Probleme vor anderen Modulen verbergen könnte.

Es scheint, dass die Ursache dafür json2csv_preprocess in nltk/sentiment/util.py , was wiederum nur in den Demos in dieser Datei verwendet wird. Vielleicht könnte eine neue demos.py Datei erstellt werden, die die Abhängigkeit von der Twitter-Option auf diese eine Datei lokalisiert? Dies kann eine bahnbrechende API-Änderung darstellen, je nachdem, wie Sie die öffentliche API definieren (ich konnte keine Informationen dazu finden oder wo Informationen in der CONTRIBUTING.md zu finden sind).

Ich übernehme gerne die Arbeit, wenn diese Lösung akzeptabel ist?

Alle 6 Kommentare

Versuchen Sie die Installation mit der Option twitter , zB

pip3 install -U nltk[twitter] 

Oder wenn Sie es unkompliziert mögen, alle Batterien inklusive:

pip3 install -U nltk[all]

@alvations empfiehlst du, dass jeder mit Twitter installiert?

Wenn ich beispielsweise nur from nltk.sentiment.vader import SentimentIntensityAnalyzer mache, erhalte ich den Fehler. Ich benötige keine Twitter-Funktionalität, ich bekomme nur die Warnung wegen der Art und Weise, wie Dinge importiert werden (einige der Twitter-Funktionen scheinen für demo_ Funktionen in nltk.sentiment.util ) .

Es ist eine Warnung, damit nichts Kritisches kaputt geht. Ich denke, es macht Sinn, mit Twitter zu installieren, wenn Sie nltk.sentiment , möglicherweise benötigen Sie irgendwann die Twython-Funktionalitäten.

Man könnte auch so etwas machen:

export PYTHONWARNINGS="ignore"
$ python
$ from nltk.sentiment.vader import SentimentIntensityAnalyzer

Ich finde dieses Problem auch ziemlich nervig. Wir möchten nicht mit der Twitter-Option installieren, da unsere Anwendung sie wahrscheinlich nie benötigt und wir unsere Docker-Images so schlank wie möglich halten möchten. Wir möchten auch keine Warnungen deaktivieren, da dies echte Probleme vor anderen Modulen verbergen könnte.

Es scheint, dass die Ursache dafür json2csv_preprocess in nltk/sentiment/util.py , was wiederum nur in den Demos in dieser Datei verwendet wird. Vielleicht könnte eine neue demos.py Datei erstellt werden, die die Abhängigkeit von der Twitter-Option auf diese eine Datei lokalisiert? Dies kann eine bahnbrechende API-Änderung darstellen, je nachdem, wie Sie die öffentliche API definieren (ich konnte keine Informationen dazu finden oder wo Informationen in der CONTRIBUTING.md zu finden sind).

Ich übernehme gerne die Arbeit, wenn diese Lösung akzeptabel ist?

Ich finde dieses Problem auch ziemlich nervig. Wir möchten nicht mit der Twitter-Option installieren, da unsere Anwendung sie wahrscheinlich nie benötigt und wir unsere Docker-Images so schlank wie möglich halten möchten. Wir möchten auch keine Warnungen deaktivieren, da dies echte Probleme vor anderen Modulen verbergen könnte.

Dem stimme ich voll und ganz zu.

Vorgeschlagene Fehlerbehebung: https://github.com/nltk/nltk/pull/2175

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen