有没有办法创建一个只运行 Python 的服务器,最精简的方式是什么?

2022-01-29 14:12:15 +08:00
 pugaizai

有几个服务器,目前都是用的 debian+python 的形式。 但实际上我仅仅只需要运行 python 。

想问一下有没有办法搭建一个纯 python 服务器,就像云函数一样。或者是最精简的 python 服务器是什么?

云函数其实挺好,就是有一些限制不像服务器上面方便。所以问问各位大神有没有更好的搭建方法。
9442 次点击
所在节点    Python
98 条回复
adoal
2022-01-29 14:21:57 +08:00
可以用更轻量级的发行版比如 Alpine……

咱就不提操作系统作为一个管理硬件的抽象层很难去掉。就说在操作系统里运行的程序,也许你写业务代码只直接用到 Python ,但用的功能模块还要依赖各种 C 库,所以 pip 之外的 C 库包管理也是必要的。
winzkh
2022-01-29 14:24:49 +08:00
linux+busybox+python
ClericPy
2022-01-29 14:31:12 +08:00
只需要运行 python 是个什么情况, 场景是啥

docker 可以么, alpine 简陋的我都不想用...
Serverless 哪不太好呢, 无状态出错概率小啊, 如果不喜欢, 以前用过 heroku 也是有点类似免运维的体验
nuitka 把你 python 程序打包成 .so ?

还是没太看懂需求
ERRASYNCTYPE
2022-01-29 14:32:51 +08:00
jupyter 那种?
illl
2022-01-29 14:36:05 +08:00
云函数?
huangsen365
2022-01-29 14:38:59 +08:00
docker alpine python
markgor
2022-01-29 14:40:15 +08:00
跟帖同求如何不装 windows 运行 edge ,我只需要运行 edge 即可,window 系统我不用
pugaizai
2022-01-29 14:42:49 +08:00
感谢各位大神,意思必须是操作系统+python 才能运行 python 吗?
有没有直接就是 “python==操作系统” 这样的软件存在,可以执行 python 程序的最简单架构
pugaizai
2022-01-29 14:43:55 +08:00
@markgor 你这个需求我装了个 chromeos ,还是要 7 个多 G
markgor
2022-01-29 14:47:50 +08:00
@pugaizai #9
不开玩笑了,
Python 无法取代系统,底层的调用还是依赖系统的库。
而你用云函数那种,属于一堆主机(装了操作系统的)运行代码时通过 docker 创建个环境执行,所以一般都有冷启动问题,再深入的我就不知道了。
momocraft
2022-01-29 14:48:21 +08:00
什么叫只运行 python 你以为 python 是怎么读写文件网络的
lvsemi1
2022-01-29 14:49:48 +08:00
可以的,直接 bios 里跑
pugaizai
2022-01-29 14:51:42 +08:00
哈哈哈 感谢,这个不错#docker alpine python

This image is based on Alpine Linux image, which is only a 5MB image, and contains Python 3.8.

This image is only 63MB on disk.
adoal
2022-01-29 14:58:03 +08:00
Python 这种连自举都不能的语言哪配得上“==操作系统”……
要么你用 MicroPython 的单片机,不过那玩意不论是性能还是生态应该都不是你想要的东西。
你可能不是科班出身,对计算机系统的理解有问题。操作系统这玩意,从业务角度是看不到也不需要的,但如果没有它,你自己要做的事就太多了。正是因为信息系统的分层架构模式,才能让写业务的人专心写业务不用关注底层技术实现。如果没有操作系统,又想运行 Python ,那 Python 解释器的实现者可能要自己去处理各种硬件的底层操作,而且还要适配各种硬件。你轻轻祭起你认为“只要……就好”的 Python 写出业务代码“岁月静好”,但代价是底层的 C 库、操作系统在“负重前行”处理了让人望而生畏的肮脏细节。

其实这是一个 X-Y 问题,你提出的“只需要运行 Python”并不是真正的需求,不如讲一下为什么不想要操作系统……如果是嫌运行在正常的 Linux 发行版里体积大的话,那就可以用轻量级的发行版,实在不行还可以自己做裁剪(尽管以你的知识水平和经验目前这个做法不现实)。但是操作系统的基础组件是逃不掉的,很多 Python 包依赖的下层 C 库也是逃不掉的。
adoal
2022-01-29 15:01:57 +08:00
@pugaizai 然后装了一堆 Python 包,体积也会大起来,尤其是其中还有非纯 Python 实现的包,依赖额外的 C 库……这些 C 库的 build & install 折腾死人,然后你发现还不如用一个正常的发行版
also24
2022-01-29 15:03:24 +08:00
虽然楼主的需求可能只是一个尽可能小的系统镜像,但是楼上的多数人似乎认为 python 一定要依附于操作系统存在?

事实上 python 确实可以脱离操作系统来使用(也可以理解为自己接管了一部分操作系统的工作)


比如说,这个 7 年前的视频 :

Josh Triplett - Porting Python to run without an OS - PyCon 2015

<amp-youtube data-videoid="bYQ_lq5dcvM" layout="responsive" width="480" height="270"></amp-youtube>
markgor
2022-01-29 15:03:30 +08:00
@pugaizai #13 emmm...那你的 docker 在哪里运行.....
sujin190
2022-01-29 15:05:40 +08:00
@pugaizai #8 你这话的通俗版就是

我不想要地基,太浪费地方了,有没有不需要地基就直接盖大楼的方式

未来能不能不知道,但是现在肯定是不能的
zsj950618
2022-01-29 15:08:53 +08:00
micropython
Privileges
2022-01-29 15:09:09 +08:00
我还以为我理解有问题。。
docker 拉个 Python-Alpine 最小镜像不就能解决了吗,没有操作系统怎么运行 Python 怎么装依赖环境?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/831269

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX