Seite 1 von 2

Tweepy installieren/importieren

Verfasst: Mittwoch 26. November 2014, 13:53
von ayhan
Mal ne frage, ich möchte gerne eine lib importieren bei python, in welchem ordner muss ich die datei hierfür speichern ? ich hab die lib hinzugefügt, aber trotzdem kommt die fehlermeldung, das modul wurde nicht gefunden

danke im voraus schonmal

lg ayhan

Re: Hallo bin python anfänger

Verfasst: Mittwoch 26. November 2014, 14:23
von BlackJack
@ayhan: Normalerweise kopiert man nicht Dateien manuell in irgendwelche Ordner sondern befolgt die Installationsanleitung von der Bibliothek. Was in den meisten Fällen auf das ausführen der `setup.py` mit entsprechenden Argumenten hinaus läuft die der Autor dafür geschrieben hat, oder auf einen Aufruf von `pip` oder `easy_install` wenn die Bibliothek im Python Package Index vorliegt.

Re: Hallo bin python anfänger

Verfasst: Mittwoch 26. November 2014, 14:45
von ayhan
okay danke hat alles funktioniert, aber diesmal kommt ständig die fehlermeldung

File "C:\Python34\xboxps4couch.py", line 23, in <module>
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
AttributeError: 'module' object has no attribute 'OAuthHandler'


dabei habe ich aber alle werte übergeben, die hier benötigt werden, anbei der quellcode

Code: Alles auswählen

import json

import tweepy


import couchdb




#Twitter Auth Keys einfügen

consumer_key = "OWDxU54dLvWBZRLDiH5ThpOTL"

consumer_secret = "h60L00WZdSgOaNxmLguujZPUhGwagMrjpXYdeFlhDEYrMsNesc"

access_key = "1634988984-Xx6P7A9dWOTBPnBINem0PgvpriGSRpuvBgnvpZZ"

access_secret = "UliXk6TUs5I0aPWQHMUObrwk2dXbnTtkOY3MFwixQdUNG"



auth = tweepy.OAuthHandler(consumer_key, consumer_secret)

auth.set_access_token(access_key, access_secret)

api = tweepy.API(auth)



#Couch DB

SERVER_URL = 'http://localhost:5984'

DB_USER = 'root'

DB_PASSWD = 'amatwitter'

DB = 'amatwitter'



server = couchdb.Server(SERVER_URL)

server.resource.credentials = (DB_USER, DB_PASSWD)

db = server[DB]



#StreamListener

class CustomStreamListener(tweepy.StreamListener):

    def __init__(self, api):

        self.api = api

        super(tweepy.StreamListener, self).__init__()



        self.db = db



    def on_data(self, tweet):

        self.db.save(json.loads(tweet))



    def on_error(self, status_code):

        return True # Don't kill the stream



    def on_timeout(self):

        return True # Don't kill the stream





sapi = tweepy.streaming.Stream(auth, CustomStreamListener(api))

sapi.filter(track=['xbox one','xboxone','xbox 1','xbox1','xbox 720','xbox720','neue box','neue xbox','playstation 4','playstation4','ps4','playsi 4','playsi4','neue playstation','neue ps','neue playsi'])





will mit dem code, tweets erheben mit bestimmten wörtern und speichern in einer couchdb

Re: Hallo bin python anfänger

Verfasst: Mittwoch 26. November 2014, 14:59
von BlackJack
@ayhan: Da sind ein bisschen viele Leerzeilen im Quelltext. :-)

Wenn das Objekt in dem Modul vorhanden sein sollte, dann hast Du eventuell das falsche Modul importiert. Hast Du vielleicht selber mal eine Datei mit dem Namen `tweepy.py` angelegt und die liegt jetzt vor dem `tweepy` was Du haben möchtest im Suchpfad?

Im Installationsverzeichnis von Python haben eigene Dateien im übrigen eigentlich nichts zu suchen.

Re: Hallo bin python anfänger

Verfasst: Mittwoch 26. November 2014, 15:21
von ayhan
ALso hab die lib tweepy master runtergeladen https://github.com/tweepy/tweepy, aber wenn ich dann diese importieren will funktioniert es nicht, erst nachdem ich den ordner in tweepy umbenannt hatte, im ordner tweepy-master gibt es einen unterordner tweepy, aber diesen direkt kann ich auch nicht importieren, aber nachdem ich den namen geändert habe in tweepy von tweepymaster funktionierte es bis zur variablen übergabe.


Hab es probiert es umzubenennen in tweepy1 aber dann lief nix mehr

Re: Hallo bin python anfänger

Verfasst: Mittwoch 26. November 2014, 15:35
von BlackJack
@ayhan: Nochmal: Python-Bibliotheken installiert man nicht in dem man selber irgend etwas irgendwo hin kopiert oder umbenennt, sondern in dem man die Installationsanleitung befolgt. `tweepy` hat eine. Und Alternativ sollte die übliche Installation über die `setup.py` funktionieren, die `tweepy` ebenfalls hat.

Re: Hallo bin python anfänger

Verfasst: Mittwoch 26. November 2014, 15:37
von ayhan
Das witzige ist wenn ich es starte kommt die gleiche fehlermeldung, also die gleiche die ständig kommt

raceback (most recent call last):
File "C:\Python34\Lib\tweepy\setup.py", line 5, in <module>
from pip.req import parse_requirements
File "C:\Python34\lib\site-packages\pip\__init__.py", line 9, in <module>
from pip.log import logger
File "C:\Python34\lib\site-packages\pip\log.py", line 8, in <module>
from pip import backwardcompat
File "C:\Python34\lib\site-packages\pip\backwardcompat\__init__.py", line 27, in <module>
console_encoding = sys.__stdout__.encoding
AttributeError: 'NoneType' object has no attribute 'encoding'

Re: Hallo bin python anfänger

Verfasst: Mittwoch 26. November 2014, 15:50
von BlackJack
@ayhan: Du hast jetzt aber schon `pip` als Programm in einer Shell Deines Betriebssystems gestartet und nicht das Modul in einer IDE importiert oder so‽

Re: Hallo bin python anfänger

Verfasst: Mittwoch 26. November 2014, 15:51
von jens
Oben die "Twitter Auth Keys" sind aber jetzt nicht deine eigenen, hoffe ich mal...

Re: Hallo bin python anfänger

Verfasst: Mittwoch 26. November 2014, 15:56
von ayhan
jens hat geschrieben:Oben die "Twitter Auth Keys" sind aber jetzt nicht deine eigenen, hoffe ich mal...

sind die alten, man kann ja neue generieren, aber danke für die info

Re: Hallo bin python anfänger

Verfasst: Mittwoch 26. November 2014, 16:00
von ayhan
ne hab die nicht angerührt, programmier über idle, pip hab ich nix gemacht

Die werte der datenbank übernimmt er auch nciht, also das gleiche problem besteht hier wie mim tweepy

Re: Hallo bin python anfänger

Verfasst: Mittwoch 26. November 2014, 16:01
von jens
Wäre die Frage, welche tweepy und welche pip version ist installiert?

Vielleicht die mal updaten. Erst pip und danach tweepy...

Re: Hallo bin python anfänger

Verfasst: Mittwoch 26. November 2014, 16:03
von ayhan
jens hat geschrieben:Wäre die Frage, welche tweepy und welche pip version ist installiert?

Vielleicht die mal updaten. Erst pip und danach tweepy...

habs erst heute runtergeladen, also die aktuellsten versionen

Re: Hallo bin python anfänger

Verfasst: Mittwoch 26. November 2014, 17:19
von BlackJack
@jens: pip ist bei Python 3.4 dabei, das sollte also funktionieren.

@ayhan: Wie ist die Fehlermeldung denn zustande gekommen? ``sys.__stdout__`` sollte nicht `None` sein, ausser man führt den Code in einer ungewöhnlichen Umgebung wie einer IDE aus.

Re: Hallo bin python anfänger

Verfasst: Mittwoch 26. November 2014, 17:46
von ayhan
hab alles neuinstalliert 3.4.2 installiert, dann die beiden libs von couch db und tweepy über die cmd schaltfläche installiert,

aber trotzdem erkennt er die module nicht, liegt es daran das die module andere ordner namen haben ?, weil im ordner tweepy-master ist die datei tweepy, bei couchdb heißt sie couchdb-master, und in diesem ordner ist couchdb, ich habe beide über die cmd schaltfläche ausgewählt und eingegeben im ordner "python setup.py install, jeweils in den beiden, wurden auch erfolgreich installiert. aber trotzdem findert er die nicht


Müssen die libs in irgendeinem spezifischen ordner sein, oder auch einen bestimmten namen haben, denn wenn ich die überordner auch tweepy nenne und nicht tweepymaster, nimmt er es an , aber meckert dann bei der variablen übergabe ?

also dann geht er rein und der fehler wie immer kommt ,

Traceback (most recent call last):
File "C:\Python34\xboxps4couch.py", line 19, in <module>
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
AttributeError: 'module' object has no attribute 'OAuthHandler'



aber wenn ich es teste ob beide erfolgreich installiert über die commando zeile bei python, passiert nix, also es ist erfolgreich drauf


als bitte probiert es mal selber, nur die tweepy lib zu importieren bitte

Code: Alles auswählen

import tweepy
CONSUMER_KEY = ''
CONSUMER_SECRET =''
OAUTH_TOKEN = ''
OAUTH_TOKEN_SECRET = ''
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(OAUTH_TOKEN, OAUTH_TOKEN_SECRET)

api = tweepy.API(auth)

Re: Hallo bin python anfänger

Verfasst: Donnerstag 27. November 2014, 01:00
von BlackJack
@ayhan: Importiere mal das `tweepy`-Modul und gibt es mit `print()` aus. Und vielleicht auch noch das Ergebnis von `dir()` auf das Modul angewendet ausgeben. Zeig mal was dabei heraus kommt.

Re: Hallo bin python anfänger

Verfasst: Donnerstag 27. November 2014, 01:22
von ayhan
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import tweepy
>>> print(tweepy)
<module 'tweepy' from 'C:\Python27\lib\site-packages\tweepy-2.3-py2.7.egg\tweepy\__init__.pyc'>
>>>

Re: Hallo bin python anfänger

Verfasst: Donnerstag 27. November 2014, 01:27
von BlackJack
@ayhan: Das ist jetzt aber Python 2.7, im letzten Beitrag hast Du geschrieben Du hättest 3.4 installiert. Und das ist jetzt auch in einer Python-Shell und nicht in dem Skript wo das nicht funktioniert.

Re: Hallo bin python anfänger

Verfasst: Donnerstag 27. November 2014, 01:34
von ayhan
Hab ja beide installiert aus frust, das kommt bei 3.4 raus


Python 3.4.2 (v3.4.2:ab2c023a9432, Oct 6 2014, 22:15:05) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import tweepy
>>> print(tweepy)
<module 'tweepy' (namespace)>
>>>

Re: Hallo bin python anfänger

Verfasst: Donnerstag 27. November 2014, 10:09
von darktrym
Kann es sein, dass du die Ausgabe bearbeitet hast? Normalerweise wird auch der Pfad des Moduls mitausgeben bei print.