Bei der Arbeit mit PyCharm traten irgendwann Probleme auf
Modul not found
Dann ließen sich neue Module nicht mehr installieren
Abhilfe schaffte nur:
Zuerst die alte venv löschen:
$ cd ~/Entwicklung/PycharmProjects/nfix/
$ rm -R ./venv
Die neue venv erstellen.
$ $ python3 -m venv venv
$ source venv/bin/activate
Kontrolle welches Python beutzt wird:
$ which python3
/home/wnf/Entwicklung/PycharmProjects/nfix/venv/bin/python3
Danach muss in PyCharm für das Projekt erst einmal jedes benötigte Modul nach installiert werden,
Tags: Python PyCharmhttps://www.debian.org/releases/bookworm/mips64el/release-notes.de.pdf
5.2.2 Python-Interpreter jetzt als extern verwaltet markiert
Die von Debian angebotenen Python3-Interpreter-Pakete (python3.11 und pypy3) sind jetzt gemäß PEP-668 (https://peps.python.org/pep-0668/) als extern verwaltet markiert. Die Version von python3-pip, die Debian bereitstellt, folgt diesem Konzept und wird es verweigern, Pakete für Debians Python-Interpreter zu installieren, außer die Option --break-system-packages ist angegeben. Wenn Sie eine Python-Applikation (oder -Version) installieren müssen, die nicht in Debian paketiert ist, empfehlen wir, dass Sie es mit pipx (aus dem Debian-Paket pipx) installieren. pipx wird eine Umgebung einrichten, die von anderen Applikationen und systemgebundenen Python-Modulen isoliert ist, und die zusätzliche Python-Applikation wird mit samt ihren Abhängigkeiten in dieser Umgebung installiert. Falls Sie ein Modul (oder eine Version) einer Python-Bibliothek installieren müssen, das nicht in Debian paketiert ist, empfehlen wir, es wenn möglich in eine virtualenv-Umgebung zu installieren. Sie können eine solche Umgebung mit Pythons stdlib-Modul venv (aus Debians python3-venv-Paket) erzeugen oder mit dem Drittanbieter-Werkzeug virtualenv (aus dem Paket virtualenv). Statt also zum Beispiel
pip install --user foo
auszuführen, verwenden Sie jetzt:
mkdir -p ~/.venvs && python3 -m venv ~/.venvs/foo && ~/.venvs/foo/bin/python -m pip install foo
, um das Modul in eine dedizierte virtualenv-Umgebung zu installieren.
Das Python-wsgi Programm läuft einen halben Tag ohne Probleme, doch dann kommt eine Fehlermeldung:
Tags: Python Apache Docker[ERROR] incompatible types, LP_c_short instance instead of LP_c_short instance
Der Befehl executemany in FirebirdSQL fdb liefert in Python 3.8 den Fehler "weakly-referenced object no longer exists".
Dehalb
aCursor.executemany(aSQL, aWerte)
ersetzen durch
aCursor.execute(aSQL, aWerte)
Tags: Python FirebirdSQL
Mit pyperclip möchte ich einen Text ins Clipboard kopieren.
import pyperclip
def main():
aClipboard = "Dieser Text soll ins Clipboard"
print(aClipboard)
pyperclip.copy(aClipboard)
print("beendet.")
return 0
if __name__ == '__main__':
main()
Das Script liefert die folgenden Warnungen und der Text wird nicht ins Clipboard kopiert.
Dieser Text soll ins Clipboard
(test_pyperclip.py:17789): Gtk-WARNING **: 06:38:59.827: Theme parsing error: gtk.css:68:35:
The style property GtkButton:child-displacement-x is deprecated and shouldn't be used anymore.
It will be removed in a future version
(test_pyperclip.py:17789): Gtk-WARNING **: 06:38:59.827: Theme parsing error: gtk.css:69:35: The style property GtkButton:child-displacement-y is deprecated and shouldn't be used anymore. It will be removed in a future version
(test_pyperclip.py:17789): Gtk-WARNING **: 06:38:59.827: Theme parsing error: gtk.css:73:46: The style property GtkScrolledWindow:scrollbars-within-bevel is deprecated and shouldn't be used anymore. It will be removed in a future version beendet.
Da ich die KDE benutze gehe ich davon aus, dass pyperclip das falsche Clipboard anspricht. Mit pyperclip.set_clipboard('klipper') kann pyperclip dazu übereredet werden klipper als Clipboard zu benutzen:
import pyperclip
def main(): aClipboard = "Dieser Text soll ins Clipboard" print(aClipboard) pyperclip.set_clipboard('klipper') pyperclip.copy(aClipboard) print("beendet.") return 0
if name == 'main': main()
Tags: PythonAus der Musiksammlung im Verzeichnis PATH werden 100 zufällige Titel abgespielt.
Als MP3-Player dient mpg123 (der natürlich vorher installiert werden muss)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
import os
from glob import glob
import random
import subprocess
PATH = '/wnfdaten/Musik/'
def playMp3(path):
subprocess.Popen(['mpg123', '-q', path]).wait()
def allMp3s():
print(PATH)
result = [y for x in os.walk(PATH) for y in glob(os.path.join(x[0], '**/*.mp3'))]
return result
def main():
alle = allMp3s()
anz=0
while anz<100:
dn=random.choice(alle)
print(anz,dn)
playMp3(dn)
anz = anz +1
return anz
if __name__ == '__main__':
main()
Tags: Python Linux-Scripte mp3