Import openpyxl

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.
Antworten
Benutzeravatar
CoderGirl
User
Beiträge: 74
Registriert: Samstag 22. April 2017, 17:47

Guten Morgen,

ich möchte aus meinem python-Programm heraus eine XLS anlegen und beschreiben
und habe mich mal für openpyxl erstmal entschieden.

Installiert habe ich es unter Mac OSX mit:
pip3 install openpyxl.

Jedoch schlägt
import openpyxl
fehl mit
No module named openpyxl

Was könnt ich falsch gemacht haben?

Danke

lg
codergirl
Nur ein Mädchen, das nie so viel weiss, wie die Jungs :ugeek:
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

Eine Möglichkeit wäre, dass du mehr als eine Python-Umgebung hast und die Installation nicht in der gerade von dir verwendeten Umgebung erfolgte.
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Um sicher zu sein, dass du es für die richtige Python-Version installiert hast, kannst du folgenden Befehl verwenden:
[codebox=bash file=Unbenannt.bsh]python -m pip install paketname[/code]
Wobei python dem Befehl zum Aufruf deines Interpreters entspricht. Wenn du python3 benutzt, dann muss dies eingesetzt werden.

Der Unterschied zu pip3 zeigt sich z.B. dann, wenn mehrere Python 3.x Versionen installiert sind.
Benutzeravatar
CoderGirl
User
Beiträge: 74
Registriert: Samstag 22. April 2017, 17:47

Also ich hab es nochmal mit Euren Tipps probiert. Hier die Antwort

python3 -m pip install openpyxl

Requirement already satisfied: openpyxl in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
Requirement already satisfied: jdcal in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from openpyxl)
Requirement already satisfied: et_xmlfile in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from openpyxl)
Nur ein Mädchen, das nie so viel weiss, wie die Jungs :ugeek:
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

@codergirl an anderer stelle hats du von (arc?) gis geredet, innerhalb dessen du arbeitest. It's das hier auch der Fall? Dann denke ich nicht, das du Pakete im System-Python installieren kannst, sondern schon dem Arcgis Interpreter bekannt machen musst.
Benutzeravatar
CoderGirl
User
Beiträge: 74
Registriert: Samstag 22. April 2017, 17:47

ja stimmt. Im ArcGIS.

mhh, gute Idee. Dann muss ich mal schauen, wie das da geht. Danke schonmal :)
Nur ein Mädchen, das nie so viel weiss, wie die Jungs :ugeek:
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

@CoderGirl:
Was liefert

Code: Alles auswählen

import sys
print(sys.version)
...im Interpreter von ArcGIS? Ist dies die selbe Ausgabe wie nach dem Aufruf von python3?
Benutzeravatar
CoderGirl
User
Beiträge: 74
Registriert: Samstag 22. April 2017, 17:47

Hi

Hab es selbst gelöst. Sicher nicht gut, aber es läuft.
Ich habe die Quellen von openpyxl einfach in meinen PYTHONPATH kopiert.
Jaja, ich weiss, sicher der allerletzte Weg, den man geht, aber es läuft ;-(

codergirl
Nur ein Mädchen, das nie so viel weiss, wie die Jungs :ugeek:
Benutzeravatar
CoderGirl
User
Beiträge: 74
Registriert: Samstag 22. April 2017, 17:47

snafu hat geschrieben:@CoderGirl:
Was liefert

Code: Alles auswählen

import sys
print(sys.version)
...im Interpreter von ArcGIS? Ist dies die selbe Ausgabe wie nach dem Aufruf von python3?
aber ich beantworte die Frage dennoch

2.7.10 (default, Feb 6 2017, 23:53:20)


D.h. für mich, dass die ArcGIS-Umgebung eine 2.7.10 Python hat, mein Rechner aber sonst
eine Python3 nutzt

lg
codergirl
Nur ein Mädchen, das nie so viel weiss, wie die Jungs :ugeek:
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du koenntest auch noch "sys.prefix" und "sys.executable" ausgeben lassen, und damit ggf. einen Hinweis darauf bekommen, ob du dein Paket doch "vernuenftig" installiert bekommst. Denn wenn es ein sys.executable gibt, kann man damit zB PIP bootstrappen (also PIP installieren), und dann hast du ein PIP mit dem du wiederum alles andere installierst.
Benutzeravatar
CoderGirl
User
Beiträge: 74
Registriert: Samstag 22. April 2017, 17:47

Hi

danke Dir: ich schau es mir mal an.

Lieben Dank für deine Hinweise

lg
codergirl
Nur ein Mädchen, das nie so viel weiss, wie die Jungs :ugeek:
Antworten