Ubuntu: Wie mache ich das?

Ich nutze Ubuntu seit einer Woche(keine Programmierkenntnisse)
Ich möchte mit Python ein Programm entwickeln, das mir das leben etwas erleichtert. Ich möchte gerne als erstes meinen Yubikey als Passwortersatz auf meinem Computer installieren. Das Problem ist das ich ja um Änderungen am system vornehmen möchte mich im terminal befinden muss. Wie kann ich trotzdem eine GUI programmieren die mich durch den installationsprozess führt? Es muss doch möglich sein das man ein Programm entwickeln kann das eine GUI hat und trotzdem Zugriff auf das system hat oder nicht?

Zum Beispiel kann man einstellen ob der Yubikey als Passwortersatz oder als zweiter Faktor dienen soll. Das will ich halt wie bei einer .exe Datei schön nach einander in einem installationsguide haben. Ich habe das zu einem gewissen grad auch geschafft und zwar mit einem shellskript uund zenity. Aber sobald es ums eingemachte geht funktioniert es nicht mehr. Und zwar sobald ich den Pin für den Yubikey eingeben soll schlließt sich das Zenityfenster und ich bin im Terminal wo ich dann den Pin dort eingeben soll. Das Passwort vorher das hat funktioniert aber beim Pin eben nicht mehr. Dann kam ich auf die Idee ok machste das eben in Python. Python bietet aber nicht die zugriffsrechte wie ein shellskript. Was nun? Ich möchte auch andere Programme dann in den Installer einfügen so dass ich im prinzip sowas habe wie bei der Einrichtung des Systems am anfang wo man schritt für schritt das system konfiguriert.

Hier ist die Anleitung zu der ich das Programm schreiben möchte: https://wiki.ubuntuusers.de/Howto/Yubikey_anstelle_von_Passw%C3%B6rtern_verwenden/

App, Linux, Webseite, Ubuntu, Code, Programmiersprache, Python, Python 3
Python Programmierungsaufgabe?

Was ist der hier der fehler

Ich suche print()-Aufrufe, die jeweils bestimmte Teile der Eingabesequenz ausgeben. Die print()-Aufrufe können untereinander geschrieben werden (Achtung, die Reihenfolgeist wichtig). Da Indexing und Slicing sowohl für Strings als auch für Listen möglich ist, kann der gleiche Pythoncode alle Tests abdecken.

Die Ausgaben sollen in der folgenden Weise umgesetzt werden:

1. Das letzte Element soll mithilfe von Indexing ausgewählt werden.

2. Die Sequenz soll mithilfe von Slicing so reduziert werden, dass das erste und letzte Element wegfallen und nur die Mitte übrig bleibt.

3. Die Sequenz soll mithilfe von Slicing so reduziert werden, dass nur die zweite Hälfte übrig bleibt. Bei Sequenzen mit gerader Anzahl von Elementen soll genau die zweite Hälfte übrig sein, bei Sequenzen mit ungerader Anzahl von Elementen soll das Element in der Mitte mit ausgegeben werden.

4. Die Sequenz soll mithilfe von Indexing mit negativen Zahlen so reduziert werden, dass nur die letzten vier Elemente übrig bleiben.

5. Die Sequenz soll abhängig von der Länge reduziert werden: Sequenzen mit fünf oder weniger Elementen sollen ohne weiteres ausgegeben werden, aus Sequenzen mit genau acht Elementen sollen zwei Elementen am Anfang und zwei Elementen am Ende wegfallen, bei allen anderen Sequenzen sollen die letzten vier Elementen ausgegeben werden.

beispiel

Test Resultat

eingabe = "ABCDE"

F

BCD

CDE

BCDE

ABCDE

eingabe = "FGHIJKLMN"

N

GHIJKLM

JKLMN

KLMN

KLMN

eingabe = [1, 2, 3, 4, 5, 6, 7, 8]

8

[2, 3, 4, 5, 6, 7]

[5, 6, 7, 8]

[5, 6, 7, 8]

[3, 4, 5, 6]

Bild zum Beitrag
Programmiersprache, Python
TypeError bei Python-Programm?

Ich habe folgendes Programm:

import itertools

# Daten aus der Tabelle einlesen
data = []
with open('tour1.txt', 'r') as file:
    for line in file:
        parts = line.strip().split(',')
        data.append((parts[0], int(parts[1]), parts[2] == 'X'))

# Essentielle Tourpunkte auswählen
essential_points = [place for place, year, is_essential in data if is_essential]

# Funktion zur Berechnung der Teiltour
def calculate_tour(places, essential_places):
    min_distance = float('inf')
    min_tour = None

    for perm in itertools.permutations(essential_places):
        tour = [places[0][0]] + [places[i][0] for i in perm] + [places[0][0]]
        total_distance = 0

        for i in range(len(tour) - 1):
            total_distance += abs([x[1] for x in places if x[0] == tour[i]][0] - [x[1] for x in places if x[0] == tour[i + 1]][0])

        if total_distance < min_distance:
            min_distance = total_distance
            min_tour = tour

    return min_tour

# Sortieren der Orte nach ihrem Jahr
sorted_data = sorted(data, key=lambda x: x[1])

# Die Teiltour berechnen
shortest_tour = calculate_tour(sorted_data, essential_points)

# Ergebnis ausgeben
for point in shortest_tour:
    print(point, end=" -> ")
print(shortest_tour[0])  # Zum Startpunkt zurückkehren

Beim Ausführen wird mir folgender Fehler ausgegeben: TypeError: list indices must be integers or slices, not str

Die Textdatei ist nach dem Format "Brauerei,1613,X,0" (als Beispiel) aufgebaut.
Ich habe probiert das Problem durch ein voranstellen von Int() bei den Listen zu Lösen, was nicht funktioniert hat...
Gibt es eine andere Möglichkeit zur Lösung?

Vielen Dank!

Error, Programmiersprache, Python
flask: jinja2.exceptions.TemplateNotFound: index.html | Wie fixen?

Hallo zusammen,

nachdem ich jetzt Stunden, und zwar wirklich Stunden an nur einem, meiner Meinung nach unnötigem Problem gesessen habe, bitte ich nun um Hilfe.

Folgendes vorab: Nachdem ich die Datenbankkonfiguration ausgelagert habe, fing das Problem wieder an. Zuvor habe ich in die flask_app.py einfach folgendes eingetragen, was das Problem löste:

data = "Daten aus Python-Skript"

Ich persönlich arbeite mich ja in die Programmierung ein, habe aber das Gefühl, dass Flask irgendwie unnötig kompliziert ist. Aber das ist ja nicht wichtig.

Ich habe just for fun OpenAI mal über den Code laufen lassen: Zugegeben, ist das nicht die schlauste Option, aber nach 5 Stunden nur für diesen Code verzweifelt man doch etwas xD

Ich möchte Daten aus der Datenbank abrufen und auf der Webseite anzeigen lassen. Dazu existiert folgender Code:

Hauptverzeichnis/main.py:

from web.flask_app import app
from systm import main

if __name__ == '__main__':
    app.run(debug=True, host="0.0.0.0", port=5000)  # 5000 Standard

Hauptverzeichnis/systm/main.py:

from flask import Flask, render_template
from systm.d import create_db_connection

app = Flask(__name__)


# Datenbankverbindung initialisieren
db = create_db_connection()
cursor = db.cursor()


@app.route('/')
def display_data():
    # Hier können Sie Daten aus Ihrem Python-Skript abrufen
    cursor.execute("SELECT * FROM products")
    product_info = cursor.fetchall()

    # Diese Daten werden an die HTML-Datei übergeben
    return render_template('index.html', product_info=product_info)


# Route, um Produktinformationen anzuzeigen
@app.route('/products')
def display_products():
    # Informationen aus der Datenbank abrufen
    cursor.execute("SELECT * FROM products")
    product_info = cursor.fetchall()

    # Informationen an das HTML-Template übergeben und anzeigen
    return render_template('products.html', product_info=product_info)


if __name__ == '__main__':
    app.run(debug=True)

Hauptverzeichnis/systm/d.py:

import mysql.connector

def create_db_connection():
    db = mysql.connector.connect(
        host="",
        user="",
        password="",
        database=""
    )
    return db

Hauptverzeichnis/web/flask_app.py:

from flask import Flask, render_template
from systm.d import create_db_connection

app = Flask(__name__, template_folder='web/templates', static_folder='web/static')


# Deaktivieren des Template-Caching
app.jinja_env.auto_reload = True
app.config['TEMPLATES_AUTO_RELOAD'] = True
app.config['STATIC_AUTO_RELOAD'] = True


# Datenbankverbindung initialisieren
db = create_db_connection()
cursor = db.cursor()


@app.route('/')
def display_data():
    # Daten aus der Datenbank abrufen
    cursor.execute("SELECT * FROM products")
    product_info = cursor.fetchall()

    # Diese Daten werden an die HTML-Datei übergeben und angezeigt
    return render_template('index.html', product_info=product_info)

Hauptverzeichnis/web/templates/index.html :

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="style/css" href="{{ url_for('static', filename='style.css') }}">
</head>
<body>
    <h1>Produktinformationen</h1>
    <table>
        <tr>
            <th>Produktname</th>
            <th>Verschlüsselungstyp</th>
            <!-- Weitere Spalten hinzufügen -->
        </tr>
        {% for product in product_info %}
        <tr>
            <td>{{ product[0] }}</td>
            <td>{{ product[1] }}</td>
            <!-- Weitere Spalten hinzufügen -->
        </tr>
        {% endfor %}
    </table>
</body>
</html>
HTML, Webseite, HTML5, Programmiersprache, Python, Webentwicklung, Python 3, Flask
Verstehs nicht.. -> ModuleNotFoundError: No module named 'sys.main'; 'sys' is not a package? (PYTHON)?

Vielleicht kann mir jemand von hier helfen. Ich hatte das Problem noch nie und Lösungen gibt es offenbar auch keine hilfreichen.

Das Projekt besteht aus dem Hauptordner, in diesem die Struktur:

Projektordner/

├── main.py

├── sys/

│ ├── __init__.py

│ ├── main.py

├── web/

│ ├── __init__.py

│ ├── flask_app.py

│ ├── static/

│ │ ├── style.css

│ ├── templates/

│ │ ├── index.html

trotzdem erhalte ich ständig diese Meldung: (PS, der Ordner wurde als Package und nicht Directory in Pycahrm erstellt.)

*:\****\****\****\****\bots\testert\dfgdfg\****\Scripts\python.exe "D:/PyCharm/PyCharm Community Edition 2022.2.3/PyCharm Community Edition 2023.1.4/plugins/python-ce/helpers/pydev/pydevd.py" --multiprocess --qt-support=auto --client **** --port **** --file "*:\****\****\****\****\****\Projekte\****\main.py" 
Connected to pydev debugger (build ****)
Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 981, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'sys.main'; 'sys' is not a package


Process finished with exit code 1     

Gerade wo ich diese Frage formuliere, frage ich mich, warum es über eine andere Ordnerstruktur gestartet wird, als in der in der sich das Projekt befindet????

Verstehe halt nicht warum PyCharm diesen Weg wählt, was einfach nur dumm wäre aber gut, das tut es halt:
*:\****\****\****\****\bots\testert\dfgdfg\****\Scripts\python.exe



Code, Python, Python 3, Pycharm
Welche Programmiersprache nach javascript?

ich hab eine lange zeit nichts anderes als javascript gemacht darunter ist auch Typescript und react und vieles mehr und klar man kann noch mehr lernen. Php kann ich ausreichend fürs backend.

aber immer auf den Browser beschränkt zu sein und websites macht auf Dauer keinen spass. Ich will auch in der lage sein desktop programme zu schreiben.
electron js kann das aber ist auch nicht das beste was man nutzen kann und sobalds aufwendiger wird hat man Probleme und riesige Dateien. Man lernt auch nichts neues dadurch das ist nichts für mich.

c# c++ c java oder rust hatte ich im kopf.

(python syntax gefällt mir auch nicht , mir geht es auch ums lernen. Nicht nur mit pip install irgendwas nutzen von jemand anderes. Am ende hast du keine ahnung von der programmierung)

aber wie weiss ich welches der oben genannten Sprachen eher was für mich ist.

Java ist Typescript sehr ähnlich, läuft überall und ich könnte da schnell zurechtkommen aber dafür ist es deutlich langsamer als C++ und nicht so mächtig.

Mit c++ lernst du auch viel und wird oft in Unis oder Schulen gelehrt, hätte damit einen vorteil wenn ich es schon gut kann.
Rust hat einen kleinen hype und viele meinen es wird in zukunft wichtiger werden = mehr jobs.

c# ist soweit ich weiss
nur für windows Anwendungen gut, mit den anderen sprachen könnte man auch in zukunft was für linux machen wenn man lust drauf hat.

ich seh da keinen grossartigen vorteil zu java oder c++ in der schnelligkeit.

Computer, Microsoft, App, IT, Webseite, Java, JavaScript, compiler, Cplusplus, C Sharp, CPP, Informatik, Oracle, Programmiersprache, Python, sdk, C (Programmiersprache), React, Angular
Ki auf Raspberry Pi?

Hallo Leute ich habe ein Video bei YouTube gesehen wo einer einen gpt voice assistent in Python Code auf einen Raspberry Pi installiert und benutzt. Ich habe dass mal ausprobiert aus Spaß und hätte gerne gewusst wie man 1. Eine weibliche Stimme statt einer Männlichen Stimme benutzen kann und 2. Die Sprachausgabe in Deutsch einstellen kann habe den Python Code mal hier rein kopiert hoffe ihr könnt mir helfen. Ein paar Sachen habe ich wie zum Beispiel language en auf de umgestellt leider klappt dass nicht so ganz.

Danke im vorraus

import os

import openai

from dotenv import load_dotenv

import time

import speech_recognition as sr

import pyttsx3

import numpy as np

from gtts import gTTS

import subprocess

mytext = 'Welcome to me'

language = 'en'

# from os.path import join, dirname

# import matplotlib.pyplot as plt

# ^ matplotlib is great for visualising data and for testing purposes but usually not needed for production

openai.api_key=' '

load_dotenv()

model = 'gpt-3.5-turbo'

# Set up the speech recognition and text-to-speech engines

r = sr.Recognizer()

engine = pyttsx3.init("dummy")

voice = engine.getProperty('voices')[1]

engine.setProperty('voice', voice.id)

name = "YOUR NAME HERE"

greetings = [f"whats up master {name}",

       "yeah?",

       "Well, hello there, Master of Puns and Jokes - how's it going today?",

       f"Ahoy there, Captain {name}! How's the ship sailing?",

       f"Bonjour, Monsieur {name}! Comment ça va? Wait, why the hell am I speaking French?" ]

# Listen for the wake word "hey pos"

def listen_for_wake_word(source):

  print("Listening for 'Hey'...")

  while True:

    audio = r.listen(source)

    try:

      text = r.recognize_google(audio)

      if "hey" in text.lower():

        print("Wake word detected.")

        engine.say(np.random.choice(greetings))

        engine.runAndWait()

        listen_and_respond(source)

        break

    except sr.UnknownValueError:

      pass

# Listen for input and respond with OpenAI API

def listen_and_respond(source):

  print("Listening...")

  while True:

    audio = r.listen(source)

    try:

      text = r.recognize_google(audio)

      print(f"You said: {text}")

      if not text:

        continue

      # Send input to OpenAI API

      response = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": f"{text}"}])

      response_text = response.choices[0].message.content

      print(response_text)

      #myobj = gTTS(text = response_text, lang = language, slow = False)

      #myobj.save("test.wav")

      #os.system("aplay test.wav")

      # Speak the response

      print("speaking")

      os.system("espeak ' "+response_text + "'")

      engine.say(response_text)

      engine.runAndWait()

      if not audio:

        listen_for_wake_word(source)

    except sr.UnknownValueError:

      time.sleep(2)

      print("Silence found, shutting up, listening...")

      listen_for_wake_word(source)

      break

    except sr.RequestError as e:

      print(f"Could not request results; {e}")

      engine.say(f"Could not request results; {e}")

      engine.runAndWait()

      listen_for_wake_word(source)

      break

# Use the default microphone as the audio source

with sr.Microphone() as source:

  listen_for_wake_word(source)

Code, künstliche Intelligenz, Python, ChatGPT

Meistgelesene Fragen zum Thema Python