2017-12-27 42 views
0

hinzufügen, wenn ich eine EXE-Datei mit pyinstaller erstellen und ausführen es kein Ergebnis von abruft b = TextBlob(ar) score = b.sentiment.polarityWie man einen Haken für textblob in pyinstaller

es gibt richtigen Wert bei Ausführung auf Konsole aber 0 zurück wenn sie mit .exe

def start_dmo(): 
print ("Importing all the required packages...") 
from textblob import TextBlob 
input ("press enter to continue") 
print("All Necessary Packages imported") 
input("press enter to continue") 
ar="I cant be more happy with this" 
print(ar) 
b = TextBlob (ar) 
score = b.sentiment.polarity 
print (b.sentiment.polarity) 
input("press enter to continue") 
score = round (score, 2) 
if score > 0.0: 
    senti = "Positive" 
elif score < 0.0: 
    senti = "Negative" 
else: 
    senti = "Neutral" 
print("Score"+str(score)+"sentiment"+senti) 
input("press enter to continue") 

start_dmo() 

this is the output when the above code is executed on console

this is the output when the above code is executed on .exe of the same code which is created using pyinstaller

ausgeführt
+0

@ user772401 können Sie mir bitte helfen? danke –

Antwort

0

Problem gelöst! einfache Lösung Changed pyinstaller cx_Freeze FYI cx_Freeze perfekt funktioniert gut mit Python 3.6 zu wissen, wie .exe den unten stehenden Link folgen mit erstellen cx_freeze: https://pythonprogramming.net/converting-python-scripts-exe-executables/

wenn u numpy oder Pandas verwenden u könnte Option müssen hinzufügen cz es könnte nicht numpy, um ur exe zu importieren, so dass das Problem zu lösen folgen Sie unten Link: Creating cx_Freeze exe with Numpy for Python

Viel Glück!

0

Versuchen Sie, textblob vor Ihrer -Funktion zu importieren, damit pyinstaller es als eine Abhängigkeit erkennt.

from textblob import TextBlob 

start_dmo(): 
    .... 
+0

okay, ich werde versuchen @ user772401 –

+0

nein immer noch das gleiche Problem –

0

Pyinstaller enthält en-sentiment.xml im Paket nicht, so dass der Sentimentanalysator eine Abhängigkeit fehlt und 0 zurückgibt. Textblob erzeugt in diesem Fall keinen Fehler.

pyinstaller erfordert, dass Sie alle Datendateien in myscript.spec manuell angeben. Doch wie Sie entdeckt haben, scheint es, dass cx_Freeze ehrt die setup.py Konfiguration, die die Datendateien gibt bereits enthalten sein:

package_data={ 
    "textblob.en": ["*.txt", "*.xml"] 
} 

zu beheben, ändern Sie die pyinstaller myscript.spec Datei textblob/en/en-sentiment.xml zu kopieren, oder wechseln Sie zu cx_Freeze wie besprochen.

Siehe auch meine Post auf Github.

Verwandte Themen