> ## 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.

# 在 Square Cloud 上使用 Python 快速入门

> 了解如何在 Square Cloud 上使用 Python 快速入门

## 🚀 简介

* 开始之前，请确保你的系统已安装 Python。如果尚未安装，可以从 [Python 官方网站](https://www.python.org/)下载。
* 接下来，你需要在 Square Cloud 上创建一个账户，可以通过[登录页面](https://squarecloud.app/zh/signup)完成。你可以使用邮箱、GitHub 或两者结合来创建账户。
* 最后，你的账户需要拥有一个有效的付费套餐。你可以在[这里](https://squarecloud.app/zh/pricing)查看我们的套餐并根据需求购买。

## ⚙️ squarecloud.app 文件配置

<Note>
  如果你通过 Square Cloud 网站上传应用，可以忽略本节内容。网站会自动为你创建 `squarecloud.app` 配置文件。
</Note>

<Card title="了解更多：如何为 Square Cloud 创建配置文件。" icon="link" href="https://docs.squarecloud.app/zh/getting-started/config-file">
  squarecloud.app 文件是一个配置文件，用于配置你的应用；它用来定义名称、描述、
  版本、主文件等内容。
</Card>

## 📄 必需文件

* 如果配置文件中未定义 `START` 字段，Square Cloud 将执行 `python MAIN` 来运行 `MAIN` 中指定的 Python 文件。如果配置文件中定义了 `START` 字段，则会直接执行其中的值。有关配置文件参数的更多信息，请访问[配置参数](https://docs.squarecloud.app/zh/getting-started/config-file#configuration-parameters)。

* Square Cloud 使用 `pip install` 安装 `requirements.txt` 中列出的所有依赖。

## 🖥️ 准备项目

### 📁 必要的配置文件

在准备将 Python 项目 deploy 到 Square Cloud 时，请确保将配置文件（`squarecloud.app/.config`）和应用的必要文件一并放入 zip 文件中。

<Warning>配置文件（`squarecloud.app/.config`）必须位于 zip 文件的根目录。否则，Square Cloud 在 deploy 期间将无法找到它。</Warning>

#### 🗑️ 上传前需要排除的文件

* `ffmpeg`：该软件已在 Square Cloud 环境中预装，因此无需将其包含在你的项目中。
* `.venv`：该文件夹包含你项目的虚拟环境。Square Cloud 提供了隔离的环境，因此无需上传此文件夹。
* `poetry.lock`：由于 Square Cloud 目前不支持 Poetry，应排除此文件以避免 deploy 期间的兼容性问题。

### 🤔 为什么要排除这些文件？

排除 `ffmpeg`、`.venv` 和 `poetry.lock` 出于以下几个重要原因：

1. **干净的环境：** Square Cloud 会为你的项目创建一个全新的环境。包含这些文件是多余的，可能会与云环境配置产生冲突。

2. **效率：** 移除这些文件可减小上传体积，使过程更快、更精简。

3. **兼容性：** 排除 `poetry.lock` 可避免兼容性问题，因为 Square Cloud 使用 `requirements.txt` 来安装依赖。

在上传之前，请将项目文件压缩为 **.zip** 格式，并排除上述不必要的文件。这将有助于确保你的 Python 应用能够在 Square Cloud 上成功 deploy。

### 📄 必需文件

* main.py（主文件示例）。
* [requirements.txt](./how-to-create-your-requirements)（依赖文件）。
* 或 \[pyproject.toml]（依赖文件）。
* [squarecloud.app](https://docs.squarecloud.app/zh/getting-started/config-file)（包含 Square Cloud 配置的文件）。

## 💡 疑难解答

<AccordionGroup>
  <Accordion title="主文件无效或已损坏" icon="file" iconType="solid">
    当在配置文件中定义为应用 "main" 的文件不存在、书写错误
    或路径不正确时，会出现此错误。如果你的主文件位于某个
    文件夹内，例如，请指定 `folder/file.py`。
  </Accordion>

  <Accordion title="内存不足" icon="memory" iconType="solid">
    托管一个机器人所需的最低 RAM 为 256MB，而站点/API
    则为 512MB。不过，根据应用的规模和复杂度，
    可能建议分配更大的 RAM，以
    避免应用内存耗尽而崩溃。
  </Accordion>
</AccordionGroup>

## 📤 如何托管你的项目

现在你已经为 Python 项目准备好了所有文件，下一步就是将它们上传到 Square Cloud 并让你的应用上线。上传方式有多种，但我们将介绍两种：通过 Dashboard 或通过 CLI。

### 通过控制面板

<Steps>
  <Step title="访问上传页面">
    访问[上传页面](https://squarecloud.app/zh/dashboard/new)并上传你的项目 zip 文件。
  </Step>

  <Step title="配置你的环境">
    上传 zip 后，你需要为项目配置名称、主文件或运行时环境以及其他设置。\
    如果你上传的是 Web 项目，请务必选择 "Web Publication" 并为项目设置子域名。
  </Step>

  <Step title="部署你的项目">
    最后，点击 "Deploy" 按钮，即可将项目托管到 Square Cloud。\
    部署完成后，你可以在控制面板中监控项目的状态和日志。

    <Frame>
      <img src="https://cdn.squarecloud.app/docs/articles/dashboard/uploading.gif" alt="正在上传应用到 Square Cloud" style={{ borderRadius: "0.2rem" }} />
    </Frame>
  </Step>
</Steps>

### 通过 CLI

要使用此方法，你需要在项目根目录中创建一个名为 `squarecloud.app` 的配置文件。该文件将包含项目所需的配置。

<Card title="了解更多：如何为 Square Cloud 创建配置文件。" icon="link" href="/zh/getting-started/config-file">
  squarecloud.app 文件是一个配置文件，用于配置你的应用；它将用于定义你的环境。
</Card>

<Steps>
  <Step title="安装 CLI">
    首先，你的环境中需要已安装 CLI。如果尚未安装，请在终端中运行以下命令：

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

    如果你已经安装，我们建议对其进行更新。为此，请在终端中运行以下命令：

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

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

  <Step title="进行身份验证">
    现在，要进行身份验证并使用其他 CLI 命令，你可以在[此处](https://squarecloud.app/zh/account/security)点击 "Request API Key" 找到你的授权密钥。获取授权密钥后，运行以下命令：

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

  <Step title="上传你的项目">
    最后，要使用 CLI 将应用部署到 Square Cloud，你需要运行以下命令：

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

    或者，如果你手动创建了 zip 文件，可以使用：

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

## 联系我们

如果你仍然遇到**技术问题**，我们的**专业支持团队**可以为你提供帮助。[**联系我们**](https://squarecloud.app/zh/support)，我们很乐意协助你解决任何问题。
