Installation Openpyxl

Probleme bei der Installation?
Antworten
Bykl
User
Beiträge: 99
Registriert: Donnerstag 5. Oktober 2017, 17:57

Hallo, ich arbeite mit Spyder und hab früher Openpyxl spielend benutzt. Jetzt hatte ich ein Update auf Spyder 5.1.5 und ich will was schreiben, da sagt er zu mir: No module named 'openpyxl' Ich bin ganz verzweifelt, der pip-Trick funktioniert nicht, was soll ich machen. Ich finde auch keine deutschsprachigen verständlichen Videos, wie ich das Modul installieren kann, wo es ist, etc. Chat GPT lässt einen auch in Stich von dieser Frage: Was tun, ich brauch es unbedingt....

Wer kann mir den entscheidenden Trick sagen, wie ich die Hürde nehme....
Benutzeravatar
Dennis89
User
Beiträge: 1226
Registriert: Freitag 11. Dezember 2020, 15:13

Hallo,

ich habe Spyder noch nie benutzt. Suche mal ob du Einstellungen bzw. Projekt-Einstellungen findest und ob es dort eine Option gibt "Packages" zu installieren. Dort solltest du dann `openpyxl` installieren können.

Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
Bykl
User
Beiträge: 99
Registriert: Donnerstag 5. Oktober 2017, 17:57

Ich bin nicht ganz bläde, aber finde in den Präferenzen nichts....

hab dies zu stehen.. by Python Interpreter
/Users/ottomotto/opt/anaconda3/bin/python
Benutzeravatar
Dennis89
User
Beiträge: 1226
Registriert: Freitag 11. Dezember 2020, 15:13

Hol mal etwas weiter aus. Was heißt der pip Trick funktioniert nicht?
Lief die Installation durch? Hattest du dabei eine Entwicklungsumgebung aktiviert? Ist in Spyder der gleiche Pyhon-Interpreter hinterlegt, wie den, den du mit `pip` genutzt hast?

Scheint so, als ob Spyder keine eigenen Entwicklungsumgebungen anlegt?
https://stackoverflow.com/questions/631 ... for-spyder

Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
Benutzeravatar
__blackjack__
User
Beiträge: 13271
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Offenbar wird hier Anaconda benutzt, das ist ja auch nicht ganz unwichtig als Information. Anaconda hat openpyxl als Package, dann sollte man das nicht mit pip installieren.
Please call it what it is: copyright infringement, not piracy. Piracy takes place in international waters, and involves one or more of theft, murder, rape and kidnapping. Making an unauthorized copy of a piece of software is not piracy, it is an infringement of a government-granted monopoly.
Bykl
User
Beiträge: 99
Registriert: Donnerstag 5. Oktober 2017, 17:57

Ich hab über Anaconda Spyder kennengelernt, jetzt nutze ich leider Anaconda nicht mehr, weil die alles haben wollen, was ich programmiere. Dann wollten Sie, dass ich mich anmelde. Ich hab irgendwie Spyder runterfallen, immer ubgedatet, wenn's was von update sagte....

bei about Spyder steht bei mir:Spyder IDE
The Scientific Python Development Environment | Spyder-IDE.org
Python 3.9.5 64-bit | Qt 5.12.10 | PyQt5 5.12.3 | Darwin 23.3.0

Vor allem, ich finde auf dem Mac nicht, wo die Packages liegen. Wenn ich in Präferenzes -> Python Interpreter von Default auf /Users/ottomotto/opt/anaconda3/bin/python umschalte, sagt er im Konsolenfenster: Er kann keine Konsole bauen.

Hab jetzt einen Python 3.0 Ordner gefunden und den nach Programme geschoben. Wenn ich den jetzt bei Präferenzes -> Python Interpreter von Default auf "/Users/ottomotto/Applications/Python 3.9/IDLE.app"

Was ist denn der Unterschied zwischen der IDLE.app und PythonLauncher-app?

sachter: Invalid file path:
/Users/ottomotto/opt/Applications/Python 3.9/IDLE.app
Benutzeravatar
__blackjack__
User
Beiträge: 13271
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Bykl: Du hast gesagt bei Spyder in den Präferenzen steht ``/Users/ottomotto/opt/anaconda3/bin/python`` also hast Du da offenbar ein von Anaconda installiertes Python. Wenn damit aus Spyder heraus der Python-Code ausgeführt wird, dann muss man für *dieses* Python auch die Packages installieren. Oder allgemeiner: Man muss für das Python mit dem man den Code ausführt, die Packages installieren die man im Code verwenden will.

Da man problemlos mehrere Python-Installationen auf dem Rechner haben kann, sowohl unterschiedliche Versionen als auch die gleiche Version, zum Beispiel aus unterschiedlichen Quellen (Python.org, Anaconda, Apple, …), muss man aufpassen was man womit ausführt und wo man Packages installiert.

Wo die Packages am Ende liegen ist egal, das brauchst Du nicht zwingend zu wissen. Auflisten lassen kann man sich die mit ``pip``. Und zwar mit dem jeweiligen ``pip`` der einzelnen Python-Installationen. Da es nur ein ``pip`` geben kann was man durch die einfache Eingabe von ``pip`` in der Konsole bekommen kann, sollte man *wissen* von/für welche(r) Python-Installation das ist. Das kann man mit ``pip --version`` überprüfen/herausfinden. Bei ``pip``\s für andere Python-Installationen muss man entweder den kompletten Pfad zum ``pip`` mit angeben, oder es über das jeweilige Python starten, gegebenenfalls auch mit dem kompletten Pfad zum Python-Interpreter. Module als Programme starten (wenn es Programme sind) geht über die ``-m``-Option. Also statt ``pip --version`` dann ``python -m pip --version``.

Code: Alles auswählen

$ pip --version
pip 23.2 from /home/bj/.local/lib/python3.8/site-packages/pip (python 3.8)
$ python3.10 -m pip --version
pip 24.0 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)
So findet man auch heraus wo die Packages installiert werden. ACHTUNG: Da nichts manuell machen. Da kopiert man nichts rein, da verschiebt man nichts, da löscht man nichts. Wenn man nicht weiss was man tut, kann man sich die Python-Installation kaputt machen. Das ist die Aufgabe von ``pip`` dort Änderungen vorzunehmen.

Womit wir beim Verschieben des Python 3.0 Ordners: Mach das rückgängig wenn Du noch weisst wo der vorher lag! Programme die das benutzt haben, funktionieren sonst nicht mehr, weil die das *dort* erwartet haben wo es lag. Und Apple hat schon ein Python vorinstalliert was vom System verwendet wird. Man kann sich da also Teile vom Betriebssystem kaputt machen wenn man *das* einfach verändert oder woanders hin verschiebt!

IDLE ist die IDE die mit Python kommt und der Python-Launcher ist zum starten von *.py-Dateien. Mit IDLE kann man keine Python-Programme direkt starten. Das ist eine Entwicklungsumgebung wo die Datei in einem Editor geöffnet wird.

Wenn Du „/Users/ottomotto/Applications/Python 3.9/IDLE.app“ einträgst, bekommst Du ziemlich sicher keine Meldung wo „/Users/ottomotto/opt/Applications/Python 3.9/IDLE.app“ steht, denn die beiden Pfade unterscheiden sich.
Please call it what it is: copyright infringement, not piracy. Piracy takes place in international waters, and involves one or more of theft, murder, rape and kidnapping. Making an unauthorized copy of a piece of software is not piracy, it is an infringement of a government-granted monopoly.
Bykl
User
Beiträge: 99
Registriert: Donnerstag 5. Oktober 2017, 17:57

Danke Blackjack, dann versuch ich erst mal die Verschiebung rückgängig zu machen......
Und was mach ich, wenn ich das nicht mehr hinkriege? Eijeijei, schwere Sach. Auf jeden Fall erst mal herzlichen Dank für Deine Mühe ...

was heisst pep eigentlich? Mein Vorschlag: Python installing Programm
Bykl
User
Beiträge: 99
Registriert: Donnerstag 5. Oktober 2017, 17:57

Ich bin jetzt soweit, dass ich ein _openpyxl.py in ein Verzeichnis, in dem Programme von mir lagern, kopiert haben als openpyxl.py. Jetzt geht es von vorn los: Er sagt: "
runfile('/Users/ottoreincke/Desktop/ProjGB2/PythonProgr/probeopenpyxl.py', wdir='/Users/ottoreincke/Desktop/ProjGB2/PythonProgr')
Traceback (most recent call last):

File "/Users/ottoreincke/Desktop/ProjGB2/PythonProgr/probeopenpyxl.py", line 8, in <module>
import openpyxl

File "/Users/ottoreincke/Desktop/ProjGB2/PythonProgr/openpyxl.py", line 9, in <module>
from pandas.io.excel._base import ExcelWriter, _BaseExcelReader

ImportError: cannot import name '_BaseExcelReader' from 'pandas.io.excel._base' (/Applications/Spyder.app/Contents/Resources/lib/python3.9/pandas/io/excel/_base.py)"

Warum das: Verlangt das Modul Openpyxl noch das öffnen anderer Module?
Sirius3
User
Beiträge: 17844
Registriert: Sonntag 21. Oktober 2012, 17:20

@Bykl: in dem Du händisch irgendwelche Dateien von einem Ort zum anderen kopiert hast, hast Du wahrscheinlich einiges kaputt gemacht. Das jetzt nachträglich zu reparieren, wird schwierig.
Warum installierst Du Python und die 3rd-party-Bibliotheken nicht einfach frisch neu.
Bykl
User
Beiträge: 99
Registriert: Donnerstag 5. Oktober 2017, 17:57

Mach ich gerade habe eben Spyder 5.5.5 runtergeladen und vollkommen neu eingebaut, so dass ich es eben meinem Alten 5.1.5 öffnen kann.
Dort SCHEINT Openpyxl kein Problem zu sein. Ich kann aber meine Datei nicht unter .py sichern. Er sagt: "You cannot save this Dokument mit Extension .py at the end of the name. The required extension ist R. Ich schreibe aber Python und nicht R". Was ist zu tun? Die Wahl, die er mir gibt ist entweder R zu nutzen oder beide .py.R. Ich weiss nicht was das soll?

Wenn man dann unter .py.R abgespeichert hat, ändert sich das Aussehen der Datei, die ganzen pythontypischen Färbungen (Funktionen, Variablen, Befehle) verschwinden und weichen einer schwarzen Bleiwüste unterbrochen von roten Kommentaren. Typische Verschlechtbesserung...

..... und, wenn man so abgespeichert hat, funktioniert das Programm, welches eben noch tadellos lief, nicht mehr ....
Benutzeravatar
__blackjack__
User
Beiträge: 13271
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Bykl: Die meisten Editoren orientieren sich mit der Syntaxhervorhebung an der Dateiendung. Und wenn man mit der Endung R speichert, gibt's halt auch die Syntaxhervorhebung für R-Quelltext, was natürlich für Python-Quelltext keinen Sinn macht.
Please call it what it is: copyright infringement, not piracy. Piracy takes place in international waters, and involves one or more of theft, murder, rape and kidnapping. Making an unauthorized copy of a piece of software is not piracy, it is an infringement of a government-granted monopoly.
Benutzeravatar
__blackjack__
User
Beiträge: 13271
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Bykl: Ich weiss auch nicht wie man auf die Idee kommen kann irgendwelche Dateien zu nehmen, die umzubenennen, und dann zu hoffen das sich auf magische Weise danach der Inhalt der Datei ändert: `_openpyxl.py` ist ja nicht mal Bestandteil von Openpyxl. Pandas hat so ein Modul. Was auch die Importe von anderen Teilen von Pandas erklären würde.
Please call it what it is: copyright infringement, not piracy. Piracy takes place in international waters, and involves one or more of theft, murder, rape and kidnapping. Making an unauthorized copy of a piece of software is not piracy, it is an infringement of a government-granted monopoly.
Antworten