PyCharm und xlwings

Python in C/C++ embedden, C-Module, ctypes, Cython, SWIG, SIP etc sind hier richtig.
Antworten
Tiger
User
Beiträge: 21
Registriert: Sonntag 25. Dezember 2022, 20:03

Guten Abend,
ich weiß nicht, ob ich hier richtig bin. Wenn nicht teilt mir bitte mit wo ich evtl. Hilfe bekommen könnte.

Hier meine Frage: Ich arbeite mit PyCharm und habe xlwings installiert (neueste Version). Ich habe zwei Zeilen Code geschrieben:
import xlwings as xw
wb = xw.Book()

Beim Ausführen erhalte ich folgende Fehlermeldung:
AttributeError: partially initialized module 'xlwings' has no attribute 'Book' (most likely due to a circular import)
Was mache ich falsch?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Deine Python-Datei auch xlwings.py genannt zu haben, womit python das nicht von dem eigentlich gewünschten Paket unterscheiden kann.
Tiger
User
Beiträge: 21
Registriert: Sonntag 25. Dezember 2022, 20:03

Guten Morgen,
vielen Dank für Deinen Tipp. Genau das war mein Problem.- Doch nun habe ich einen neuen Fehler. Mein Code:
import xlwings as xw
wb = xw.Book("Mappe2.xlsx")


FehlerNachricht:
appscript.reference.CommandError: Command failed:
OSERROR: -1743
MESSAGE: The user has declined permission.
COMMAND: app(pid=25893).count(each=k.workbook)

Ich kann zwar den FehlerCode interpretieren, weiß aber nicht, wie und wo ich den Fehler beheben kann/soll.
Ich bitte abermals um Hilfe.

Anmerkung:
Ich arbeite an einem Mac.
Sirius3
User
Beiträge: 18051
Registriert: Sonntag 21. Oktober 2012, 17:20

Du bist nicht der erste mit dem Problem: https://stackoverflow.com/questions/630 ... permission

Es scheint wieder einmal ein IDE-Problem zu sein. Starte das Programm vom Terminal aus, dann solltest Du das Rechtefenster auch bekommen.
Tiger
User
Beiträge: 21
Registriert: Sonntag 25. Dezember 2022, 20:03

Hallo,
Ich verzweifle bald.- Weder mit PyCharm noch mit Jupyter Notebook komme ich weiter. Jedesmal erhalte ich die Nachricht wie oben beschrieben.
Auch mit dem <sudo chown -R <user-name> <directory-name> stochere ich nur im Nebel.
Hat noch jemand eine gute Idee?
Sirius3
User
Beiträge: 18051
Registriert: Sonntag 21. Oktober 2012, 17:20

Und wie sieht es aus, wenn Du es aus einem Terminal startest?
Tiger
User
Beiträge: 21
Registriert: Sonntag 25. Dezember 2022, 20:03

Hallo, ich möchte kurz zusammenfassen:
Beim Aufruf von xlwings erhalte ich folgende Fehlermeldung:
appscript.reference.CommandError: Command failed:
OSERROR: -1743
MESSAGE: The user has declined permission.
COMMAND: app(pid=2402).make(new=k.workbook)

Der Aufruf aus dem Terminal über Jupyter Notebook und PyCharm bringen jeweils obige Fehlermeldung.
Beim sudo-Aufruf bekomme ich folgende Nachricht:
sudo -R <User> PyCharm\ CE.app
sudo: you are not permitted to use the -R option with PyCharm CE.app

( <User> = mein Benutzername)

Was mache ich falsch bzw.gibt es noch weitere Möglichkeiten den Fehler einzugrenzen bzw. zu beheben?
Benutzeravatar
Dennis89
User
Beiträge: 1376
Registriert: Freitag 11. Dezember 2020, 15:13

Hallo,

ich verstehe Sirius3 so, dass du dich mal ganz von PyCharm lösen sollst und deine Python-Datei in einem Mac-Terminal ausführen sollst.

https://docs.python.org/3/using/mac.html

Falls du xlwings nicht über das ganze System installieren willst:
https://docs.python.org/3/library/venv.html
https://stackoverflow.com/questions/685 ... -correctly

Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
Sirius3
User
Beiträge: 18051
Registriert: Sonntag 21. Oktober 2012, 17:20

Tiger
User
Beiträge: 21
Registriert: Sonntag 25. Dezember 2022, 20:03

Hallo, die Ausführung in einem Mac-Terminal bringt das gleiche Ergebnis wie oben beschrieben.
Ich komme einfach nicht weiter.....

Gruß Dieter
Benutzeravatar
__blackjack__
User
Beiträge: 13533
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Tiger: Was hast Du denn da ganz genau gemacht?

Code: Alles auswählen

- (void)countSheep {
    unsigned int sheep = 0;
    while ( ! [self isAsleep]) { ++sheep; }
}
Tiger
User
Beiträge: 21
Registriert: Sonntag 25. Dezember 2022, 20:03

__blackjack__ hat geschrieben: Montag 21. August 2023, 23:28 @Tiger: Was hast Du denn da ganz genau gemacht?
Guten Morgen,
aus dem Termin habe ich die rot hinterlegten Befehle abgesetzt:

Python 3.10.0 (v3.10.0:b494f5935c, Oct 4 2021, 14:59:20) [Clang 12.0.5 (clang-1205.0.22.11)] on darwin
Type "help", "copyright", "credits" or "license()" for more information.
import xlwings as xw
wb = xw.Book()

Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/aeosa/appscript/reference.py", line 479, in __call__
return self.AS_appdata.target().event(self._code, params, atts, codecs=self.AS_appdata).send(timeout, sendflags)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/aeosa/aem/aemsend.py", line 92, in send
raise EventError(errornum, errormsg, eventresult)
aem.aemsend.EventError: Command failed: The user has declined permission. (-1743)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
wb = xw.Book()
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/xlwings/main.py", line 954, in __init__
impl = apps.active.books.add().impl
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/xlwings/main.py", line 5003, in add
return Book(impl=self.impl.add())
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/xlwings/_xlmac.py", line 413, in add
xl = self.app.xl.make(new=kw.workbook)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/aeosa/appscript/reference.py", line 515, in __call__
raise CommandError(self, (args, kargs), e, self.AS_appdata) from e
appscript.reference.CommandError: Command failed:
OSERROR: -1743
MESSAGE: The user has declined permission.
COMMAND: app(pid=11130).make(new=k.workbook)
Sirius3
User
Beiträge: 18051
Registriert: Sonntag 21. Oktober 2012, 17:20

Ich sehe in Deinem Traceback <pyshell#1>, das heißt, Du hast das Skript nicht in einem Terminal ausgeführt.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Terminal heisst hier das Mac-Program "Terminal". Nicht irgendeine Eingabeaufforderung von PyCharm!
Tiger
User
Beiträge: 21
Registriert: Sonntag 25. Dezember 2022, 20:03

Hallo,
hier der Output aus einem weiteren Versuch:

Last login: Tue Aug 22 14:02:04 on ttys000
dieterfriedrich@Dieters-MBP ~ % cd /Users/dieterfriedrich/Desktop
dieterfriedrich@Dieters-MBP Desktop % python3 Skript.py
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/aeosa/appscript/reference.py", line 479, in __call__
return self.AS_appdata.target().event(self._code, params, atts, codecs=self.AS_appdata).send(timeout, sendflags)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/aeosa/aem/aemsend.py", line 92, in send
raise EventError(errornum, errormsg, eventresult)
aem.aemsend.EventError: Command failed: The user has declined permission. (-1743)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/Users/dieterfriedrich/Desktop/Skript.py", line 2, in <module>
wb = xw.Book()
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/xlwings/main.py", line 954, in __init__
impl = apps.active.books.add().impl
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/xlwings/main.py", line 5003, in add
return Book(impl=self.impl.add())
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/xlwings/_xlmac.py", line 413, in add
xl = self.app.xl.make(new=kw.workbook)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/aeosa/appscript/reference.py", line 515, in __call__
raise CommandError(self, (args, kargs), e, self.AS_appdata) from e
appscript.reference.CommandError: Command failed:
OSERROR: -1743
MESSAGE: The user has declined permission.
COMMAND: app(pid=3390).make(new=k.workbook)

dieterfriedrich@Dieters-MBP Desktop %

Hoffentlich habe ich jetzt Eure Anweisungen richtig verstanden.
Gruß Dieter
Benutzeravatar
__blackjack__
User
Beiträge: 13533
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Kann es sein, dass man in dem Dialog der da kommen müsste auch auswählen kann, dass die Anwendung *immer* *nicht* das Recht haben soll oder ein „nicht mehr nachfragen“-Haken gesetzt werden konnte und wurde, und dass deswegen einfach grundsätzlich die Berechtigung verweigert wird‽

Code: Alles auswählen

- (void)countSheep {
    unsigned int sheep = 0;
    while ( ! [self isAsleep]) { ++sheep; }
}
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ich habe zwar einen Mac mit Ventura, aber kein Excel. Darum kann ich das nicht nachvollziehen. Es gibt aber eine Sektion in den Systemeinstellungen, in denen man das an/abwaehlen kann:

Bild

Wenn ich da iTerm das Recht verweigere, sagt es im Terminal

Code: Alles auswählen

deets@clawstrider Photos Library.photoslibrary % ll
total 0
ls: .: Operation not permitted
deets@clawstrider Photos Library.photoslibrary % ll
total 0
drwxr-xr-x@  9 deets  staff  288 Aug 22 10:04 ./
drwx------+  4 deets  staff  128 Jan 12  2023 ../
drwxr-xr-x@ 12 deets  staff  384 May 28 17:16 database/
drwxr-xr-x@ 11 deets  staff  352 Jun  4 11:08 external/
drwxr-xr-x@  3 deets  staff   96 Mar 24 13:32 internal/
drwxr-xr-x@ 18 deets  staff  576 Jan 13  2023 originals/
drwxr-xr-x@ 12 deets  staff  384 Jun  4 11:08 private/
drwxr-xr-x@  9 deets  staff  288 May 29 01:26 resources/
drwxr-xr-x@  6 deets  staff  192 May 28 17:16 scopes/
Kann also gut sein, dass sich das gemerkt wurde, und jetzt muss man daran rumdrehen.
Tiger
User
Beiträge: 21
Registriert: Sonntag 25. Dezember 2022, 20:03

Hier meine Antwort auf die Frage vom Dienstag:
Ja, ich kann mich dunkel daran erinnern.-
Zur Vorgeschichte: Vor einiger Zeit erhielt ich ein Erpresser schreiben erhalten, worin stand, dass mein PC gehakt worden sei. Ich erstattete Anzeige.
Einige Zeit später kam ein Dialog auf, wie von Euch beschrieben.- Ich erinnerte mich an das Erpresser schreiben und brachte es niemals in Verbindung mit <xlwings>. Nun bin ich schlauer und es wartet eine neue Herausforderung auf mich.- Ich habe mir Eure Informationen angeschaut und muss diese erst einmal aufarbeiten bzw. genau durchlesen.- Wegen eines krankheitsfalles im Hause, kann ich leider nur zeitweise an dem Problem weiter arbeiten.
Ich möchte mich für die Hilfe und Geduld erst einmal bedanken und werde mich später wieder melden.
Tiger
User
Beiträge: 21
Registriert: Sonntag 25. Dezember 2022, 20:03

Guten Morgen, kann nun an meinem Projekt weiter arbeiten.
Ich nutze ebenfalls einen Mac mit Venture.- Die Sektion für das an/abwählen in den Systemeinstellungen finde ich nicht. Ich bitte um Hilfe
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Mehr als dir das als Screenshot zu zeigen, kann ich nicht. Du musst darin stoebern, weil es *dein* System ist, und ich nicht weiss, welche Einstellungen da getaetigt wurden. Wenn es nicht klappt, wuerde ich versuchen, ein lokales Python-Meetup aufzusuchen, damit dort jemand kundiges direkt vor Ort helfen kann.
Antworten