V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
gosky
V2EX  ›  Python

有没有 Python sandbox 或者 container,比 docker 更轻量级

  •  
  •   gosky · Sep 15, 2023 · 2213 views
    This topic created in 954 days ago, the information mentioned may be changed or developed.
    目前服务都是 go 写的,go 服务跑在 docker 上
    一些工作需要 python 执行
    优先考虑到 go 里面跑一个 python 解释器,但一来没发现很好的解析器,二来依赖也是个问题
    所以想到,有没有类似 sandbox 或者 container 的技术,可以把 python 代码和依赖,都打包起来。每次 go 需要执行 python 任何了,就执行这个 sandbox 或者 container
    这样,还可以附带解决不同 python 任务的依赖
    7 replies    2023-09-18 09:59:28 +08:00
    dayeye2006199
        1
    dayeye2006199  
       Sep 15, 2023
    python 打包成 webassembly 然后 go 里面弄个 runtime 去调用? https://github.com/wasmerio/wasmer-go

    但这个肯定有些依赖支持的不好,特别是那类科学运算的
    ryanking8215
        2
    ryanking8215  
       Sep 15, 2023
    做成胖容器,golang 的容器安装 python ,基础容器一般是 alpine 或者 debian ,都支持
    Tohrusky
        3
    Tohrusky  
       Sep 15, 2023
    如果不涉及 dl 这种依赖 torch 容器镜像的工作,直接 pyinstaller 打包一下就好,然后在最终 alpine 镜像里面补下依赖咯
    打包困难就参考楼上的方案,python 官方不推荐 alpine ,可以试试看 python:3.xx-slim-bookworm
    6167
        4
    6167  
       Sep 15, 2023
    用 go 发布 celery 异步任务?
    neoblackcap
        5
    neoblackcap  
       Sep 15, 2023
    建议简单写一个 python web 服务,直接通过网络接口来调用 python 服务。
    julyclyde
        6
    julyclyde  
       Sep 16, 2023
    这其实是两件事啊
    一般所谓容器包含文件系统发行、运行环境 cgroups+namespace 两个东西
    而你想要的是其实是个 python venv
    gosky
        7
    gosky  
    OP
       Sep 18, 2023
    @julyclyde 也不知道该叫啥 哈哈
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   917 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 22:36 · PVG 06:36 · LAX 15:36 · JFK 18:36
    ♥ Do have faith in what you're doing.