# 自定义 Python Spaces

> [!TIP]
> Spaces 现在支持任意 Dockerfile，因此您可以使用 [Docker Spaces](./spaces-sdks-docker) 直接托管任何 Python 应用。

虽然这不是官方工作流，但你可以通过选择 Gradio 作为 SDK 并在端口 `7860` 上提供前端服务，在 Spaces 中运行自己的 Python + 界面技术栈。有关示例，请参阅 [模板](https://huggingface.co/templates#spaces)。

Spaces 在 iframe 中提供服务，默认情况下会限制链接在父页面中打开。最简单的解决方案是在新窗口中打开它们：

```HTML
<a href="https://hf.space" rel="noopener" target="_blank">Spaces</a>
```

通常，在使用 Gradio 库界面时，Spaces 的高度会自动调整。但是，如果您在 Gradio SDK 中提供了自己的前端，且内容高度大于视口，则需要添加一个 [iFrame Resizer 脚本](https://cdnjs.com/libraries/iframe-resizer)，以便内容可以在 iframe 中滚动：

```HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.3.2/iframeResizer.contentWindow.min.js"></script>
```
例如，以下是同一 Space 在有无该脚本时的对比：
- https://huggingface.co/spaces/ronvolutional/http-server
- https://huggingface.co/spaces/ronvolutional/iframe-test

