> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Erste Schritte auf Square Cloud mit Python

> Erfahre, wie du auf Square Cloud mit Python loslegst

## 🚀 Einführung

* Stelle vor dem Start sicher, dass Python auf deinem System installiert ist. Falls du es noch nicht hast, kannst du es von der [offiziellen Python-Website](https://www.python.org/) herunterladen.
* Anschließend musst du ein Konto bei Square Cloud erstellen, was über die [Anmeldeseite](https://squarecloud.app/de/signup) möglich ist. Du kannst dein Konto per E-Mail, GitHub oder beidem erstellen.
* Schließlich benötigst du einen aktiven kostenpflichtigen Plan in deinem Konto. Du kannst unsere Pläne ansehen und je nach Bedarf einen [hier](https://squarecloud.app/de/pricing) kaufen.

## ⚙️ Konfiguration der squarecloud.app-Datei

<Note>
  Wenn du deine Anwendung über die Square Cloud Website hochlädst, kannst du diesen Abschnitt ignorieren. Die Website erstellt die `squarecloud.app` Konfigurationsdatei automatisch für dich.
</Note>

<Card title="Mehr erfahren: So erstellst du die Konfigurationsdatei für Square Cloud." icon="link" href="https://docs.squarecloud.app/de/getting-started/config-file">
  Die squarecloud.app Datei ist eine Konfigurationsdatei, die zur
  Konfiguration deiner Anwendung verwendet wird; sie dient dazu, den Namen, die
  Beschreibung, die Version, die Hauptdatei und weiteres zu definieren.
</Card>

## 📄 Erforderliche Dateien

* Wenn das Feld `START` in der Konfigurationsdatei nicht definiert ist, führt Square Cloud `python MAIN` aus, um die in `MAIN` angegebene Python-Datei auszuführen. Ist das Feld `START` in der Konfigurationsdatei definiert, wird der darin enthaltene Wert direkt ausgeführt. Weitere Informationen zu den Parametern der Konfigurationsdatei findest du unter [Konfigurationsparameter](https://docs.squarecloud.app/de/getting-started/config-file#configuration-parameters).

* Square Cloud verwendet `pip install`, um alle in `requirements.txt` aufgeführten Abhängigkeiten zu installieren.

## 🖥️ Vorbereitung des Projekts

### 📁 Wesentliche Konfigurationsdateien

Wenn du dein Python-Projekt für den Deploy auf Square Cloud vorbereitest, stelle sicher, dass du die Konfigurationsdatei (`squarecloud.app/.config`) und die wesentlichen Dateien deiner Anwendung in einer ZIP-Datei einschließt.

<Warning>Die Konfigurationsdatei (`squarecloud.app/.config`) muss sich im Stammverzeichnis der ZIP-Datei befinden. Andernfalls kann Square Cloud sie beim Deploy nicht finden.</Warning>

#### 🗑️ Dateien, die vor dem Hochladen auszuschließen sind

* `ffmpeg`: Diese Software ist in der Square-Cloud-Umgebung vorinstalliert, daher ist es nicht notwendig, sie in dein Projekt aufzunehmen.
* `.venv`: Dieser Ordner enthält die virtuelle Umgebung deines Projekts. Square Cloud stellt eine isolierte Umgebung bereit, sodass es nicht nötig ist, diesen Ordner hochzuladen.
* `poetry.lock`: Da Square Cloud derzeit Poetry nicht unterstützt, sollte diese Datei ausgeschlossen werden, um Kompatibilitätsprobleme beim Deploy zu vermeiden.

### 🤔 Warum diese Dateien ausschließen?

Das Ausschließen von `ffmpeg`, `.venv` und `poetry.lock` ist aus mehreren Gründen wichtig:

1. **Saubere Umgebung:** Square Cloud erstellt eine neue Umgebung für dein Projekt. Diese Dateien einzuschließen ist unnötig und kann zu Konflikten mit den Konfigurationen der Cloud-Umgebung führen.

2. **Effizienz:** Das Entfernen dieser Dateien verringert die Upload-Größe und macht den Vorgang schneller und schlanker.

3. **Kompatibilität:** Das Ausschließen von `poetry.lock` vermeidet Kompatibilitätsprobleme, da Square Cloud `requirements.txt` zur Installation der Abhängigkeiten verwendet.

Komprimiere vor dem Hochladen deine Projektdateien in das **.zip**-Format und schließe dabei die oben genannten unnötigen Dateien aus. So stellst du sicher, dass deine Python-Anwendung für einen erfolgreichen Deploy auf Square Cloud bereit ist.

### 📄 Erforderliche Dateien

* main.py (Beispiel für die Hauptdatei).
* [requirements.txt](./how-to-create-your-requirements) (Abhängigkeitsdatei).
* ODER \[pyproject.toml] (Abhängigkeitsdatei).
* [squarecloud.app](https://docs.squarecloud.app/de/getting-started/config-file) (Datei mit der Square-Cloud-Konfiguration).

## 💡 Fehlerbehebung

<AccordionGroup>
  <Accordion title="Die Hauptdatei ist ungültig oder beschädigt" icon="file" iconType="solid">
    Dieser Fehler tritt auf, wenn die als "main" für deine Anwendung
    in der Konfigurationsdatei definierte Datei nicht existiert, falsch
    geschrieben ist oder der Pfad falsch ist. Wenn sich deine Hauptdatei in einem
    Ordner befindet, gib zum Beispiel `folder/file.py` an.
  </Accordion>

  <Accordion title="Nicht genügend Arbeitsspeicher" icon="memory" iconType="solid">
    Die minimale Menge an RAM, die zum Hosten eines Bots erforderlich ist, beträgt 256MB und für
    eine Website/API 512MB. Je nach Größe und Komplexität deiner
    Anwendung kann es jedoch ratsam sein, eine größere Menge RAM zuzuweisen, um zu
    vermeiden, dass deiner Anwendung der Arbeitsspeicher ausgeht und sie abstürzt.
  </Accordion>
</AccordionGroup>

## 📤 So hostest du dein Projekt

Nachdem du nun alle Dateien für dein Python-Projekt vorbereitet hast, besteht der nächste Schritt darin, sie auf Square Cloud hochzuladen und deine Anwendung online zu stellen. Es gibt mehrere Möglichkeiten zum Hochladen, aber wir behandeln zwei: über das Dashboard oder über die CLI.

### Über das Dashboard

<Steps>
  <Step title="Upload-Seite aufrufen">
    Rufe die [Upload-Seite](https://squarecloud.app/de/dashboard/new) auf und lade die ZIP-Datei deines Projekts hoch.
  </Step>

  <Step title="Umgebung konfigurieren">
    Nachdem du deine ZIP-Datei hochgeladen hast, musst du den Namen, die Hauptdatei oder Runtime-Umgebung und weitere Einstellungen für dein Projekt konfigurieren.\
    Wenn du ein Web-Projekt hochlädst, achte darauf, "Web Publication" auszuwählen und deinem Projekt eine Subdomain zuzuweisen.
  </Step>

  <Step title="Projekt bereitstellen">
    Klicke abschließend auf die Schaltfläche "Deploy", um dein Projekt auf Square Cloud zu hosten.\
    Nach dem Deploy kannst du den Status und die Logs deines Projekts über das Dashboard überwachen.

    <Frame>
      <img src="https://cdn.squarecloud.app/docs/articles/dashboard/uploading.gif" alt="Anwendung wird auf Square Cloud hochgeladen" style={{ borderRadius: "0.2rem" }} />
    </Frame>
  </Step>
</Steps>

### Über die CLI

Um diese Methode zu nutzen, musst du eine Konfigurationsdatei mit dem Namen `squarecloud.app` im Stammverzeichnis deines Projekts erstellen. Diese Datei enthält die notwendige Konfiguration für dein Projekt.

<Card title="Mehr erfahren: So erstellst du die Konfigurationsdatei für Square Cloud." icon="link" href="/de/getting-started/config-file">
  Die Datei squarecloud.app ist eine Konfigurationsdatei, mit der deine Anwendung konfiguriert wird; sie dient dazu, deine Umgebung zu definieren.
</Card>

<Steps>
  <Step title="CLI installieren">
    Zuerst musst du die CLI in deiner Umgebung installiert haben. Falls du sie noch nicht hast, führe den folgenden Befehl in deinem Terminal aus:

    ```
    npm install -g @squarecloud/cli
    ```

    Falls du sie bereits hast, empfehlen wir, sie zu aktualisieren. Führe dazu den folgenden Befehl in deinem Terminal aus:

    <Tabs>
      <Tab title="Windows">
        ```bash theme={null}
        squarecloud update
        ```
      </Tab>

      <Tab title="Linux, macOS und WSL">
        ```bash theme={null}
        curl -fsSL https://cli.squarecloud.app/install | bash
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step title="Authentifizieren">
    Um dich zu authentifizieren und weitere CLI-Befehle zu nutzen, findest du deinen Autorisierungsschlüssel [hier](https://squarecloud.app/de/account/security), indem du auf "Request API Key" klickst. Nachdem du deinen Autorisierungsschlüssel erhalten hast, führe den folgenden Befehl aus:

    ```bash theme={null}
    squarecloud auth login
    ```
  </Step>

  <Step title="Projekt hochladen">
    Um deine Anwendung schließlich über die CLI auf Square Cloud bereitzustellen, musst du den folgenden Befehl ausführen:

    ```bash theme={null}
    squarecloud upload 
    ```

    Oder falls du die ZIP-Datei manuell erstellt hast, kannst du Folgendes verwenden:

    ```bash theme={null}
    squarecloud upload --file <path/to/zip> 
    ```
  </Step>
</Steps>

## Kontaktiere uns

Falls du weiterhin **technische Schwierigkeiten** hast, steht dir unser **spezialisiertes Support-Team** zur Verfügung. [**Kontaktiere uns**](https://squarecloud.app/de/support) und wir helfen dir gerne, jedes Problem zu lösen.
