2012-09-22 13 views
6

Heute ist mein erster Tag bei Python und habe Probleme durch. Eine, an der ich arbeitete, war: "Schreiben Sie ein kurzes Programm, das das aktuelle Datum und die aktuelle Uhrzeit aus dem Betriebssystem extrahiert und auf dem Bildschirm im folgenden Format ausgibt: Tag, Monat, Jahr, aktuelle Uhrzeit in GMT. Zeigen Sie, dass es funktioniert . "Importfehler: Kein Modul namens pytz nach der Verwendung von easy_install

Ich wollte pytz verwenden, verwendet, so easy_install pytz Diese installierte es in meinen Website-Paketen (pytz-2012D-py2.7.egg)

Ist dies das richtige Verzeichnis für mich in der Lage sein zu importieren das Modul?

In meinem Python-Shell i von pytz Import Zeitzone verwende ich bekommen, "ImportError: No module named pytz"

Irgendwelche Ideen? Vielen Dank im Voraus

+0

warum nicht verwenden datetime module ... http://docs.python.org/library/datetime.html – avasal

+1

Ich brauche es in GMT, ich dachte nur pytz hat Zeit Konvertierungen – scrayon

+0

@avasal: Als [die 'datetime' Dokumentation sagt] (http://docs.python.org/library/datetime.html#tzinfo-objects): "_pytz enthält aktuelle Informationen und seine Verwendung wird empfohlen._". Mit anderen Worten, die Python-Dokumente empfehlen das 'pytz'-Modul für fortgeschrittenere Dinge. Deshalb benötigt OP es wahrscheinlich. – Tadeck

Antwort

4

time Modul auch hier helfen kann .. UTC (Coordinated Universal Time früher als Greenwich Mean Time bekannt oder GMT)

In [18]: import time 

In [19]: time.gmtime() 
Out[19]: time.struct_time(tm_year=2012, tm_mon=9, tm_mday=22, tm_hour=3, tm_min=37, tm_sec=15, tm_wday=5, tm_yday=266, tm_isdst=0) 

In [20]: x = time.gmtime() 

In [21]: x.tm_year 
Out[21]: 2012 

In [22]: x.tm_mon 
Out[22]: 9 

In [23]: x.tm_mday 
Out[23]: 22 

In [24]: x.tm_hour 
Out[24]: 3 

Sie können auch die Protokolle überprüfen, während Sie pytz installiert mit die unter denen ...

C:\>easy_install pytz 
Searching for pytz 
Reading http://pypi.python.org/simple/pytz/ 
Reading http://pytz.sourceforge.net 
Reading http://sourceforge.net/project/showfiles.php?group_id=79122 
Reading http://www.stuartbishop.net/Software/pytz 
Reading http://sourceforge.net/projects/pytz/ 
Best match: pytz 2012d 
Downloading http://pypi.python.org/packages/2.7/p/pytz/pytz-2012d-py2.7.egg#md5= 
e6f9219ae6eff242f13c6700413df69e 
Processing pytz-2012d-py2.7.egg 
Moving pytz-2012d-py2.7.egg to c:\python27\lib\site-packages 
Adding pytz 2012d to easy-install.pth file 

Installed c:\python27\lib\site-packages\pytz-2012d-py2.7.egg 
Processing dependencies for pytz 
Finished processing dependencies for pytz 

C:\>python 
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win 
32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pytz 
>>> from datetime import datetime, timedelta 
>>> utc = pytz.utc 
>>> utc.zone 
'UTC' 
+0

+1 für einen Walkaround. Allerdings ist UTC streng (sehr streng) nicht GMT. – Tadeck

+0

Wie bekomme ich die UTC-Zeitzone vom Zeitmodul? was ich brauche, ist TZ-aware Datetime in UTC naiv zu konvertieren. Ich mache es, indem ich 'tzutc = tzaware.astimezone (pytz.utc)' und dann 'tzzutc.replace (tzinfo = None)' rufe. Gibt es einen besseren Weg? Am bemerkenswertesten ist, dass ich die Pytz-Abhängigkeit loswerden möchte, da sie nicht auf unseren Servern installiert ist. –

3

Für das, was es wert ist, die Antwort auf das grundlegende Problem ist hier, dass die pytz Installation der „.egg“ Datei (mindestens eigentlich nicht extrahieren, das ist, was ich bemerkt mit einer sehr ähnlichen ist sue.)

Sie können in den Ordner site-packages gehen und ihn selbst extrahieren.

3

Es ist wichtig, wenn Sie Python v2 oder Python v3 verwenden - es hat separate easy_install-Paket! In debian gibt es: python-pip python3-pip

und dann easy_install easy_install3

Wenn Sie falsch verwenden Version von easy_install Sie falsche Bibliotheken werden zu aktualisieren.