Tweepy installieren/importieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
ayhan
User
Beiträge: 19
Registriert: Mittwoch 26. November 2014, 13:51

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
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.
ayhan
User
Beiträge: 19
Registriert: Mittwoch 26. November 2014, 13:51

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
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.
ayhan
User
Beiträge: 19
Registriert: Mittwoch 26. November 2014, 13:51

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
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.
ayhan
User
Beiträge: 19
Registriert: Mittwoch 26. November 2014, 13:51

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'
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‽
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Oben die "Twitter Auth Keys" sind aber jetzt nicht deine eigenen, hoffe ich mal...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
ayhan
User
Beiträge: 19
Registriert: Mittwoch 26. November 2014, 13:51

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
ayhan
User
Beiträge: 19
Registriert: Mittwoch 26. November 2014, 13:51

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
Zuletzt geändert von ayhan am Mittwoch 26. November 2014, 16:02, insgesamt 1-mal geändert.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Wäre die Frage, welche tweepy und welche pip version ist installiert?

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

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
ayhan
User
Beiträge: 19
Registriert: Mittwoch 26. November 2014, 13:51

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
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.
ayhan
User
Beiträge: 19
Registriert: Mittwoch 26. November 2014, 13:51

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)
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.
ayhan
User
Beiträge: 19
Registriert: Mittwoch 26. November 2014, 13:51

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'>
>>>
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.
ayhan
User
Beiträge: 19
Registriert: Mittwoch 26. November 2014, 13:51

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)>
>>>
Benutzeravatar
darktrym
User
Beiträge: 785
Registriert: Freitag 24. April 2009, 09:26

Kann es sein, dass du die Ausgabe bearbeitet hast? Normalerweise wird auch der Pfad des Moduls mitausgeben bei print.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Antworten