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
Tweepy installieren/importieren
-
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.
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
will mit dem code, tweets erheben mit bestimmten wörtern und speichern in einer couchdb
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'])
-
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.
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.
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
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.
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'
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‽
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
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.
-
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: 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.
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
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.
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'>
>>>
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.
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)>
>>>
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)>
>>>
