推荐学习书目
› 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
zeromovie
V2EX  ›  Python

windows Linux 之间如何优雅的迁移 Python 环境呢?

  •  
  •   zeromovie · Mar 18, 2024 · 5514 views
    This topic created in 962 days ago, the information mentioned may be changed or developed.

    首先想到的思路是 os a 导出 req.txt 到 os b 上,然后 os b 根据 req.txt 或者类似的依赖包文件重新安装环境,但是问题是依赖关系可能由于 os 的差异发生变化,那么一个一个包的去试感觉也太蛋疼了,有没有好的解决方案呢

    14 replies  •  2024-03-22 17:35:52 +08:00
    bitmin
    bitmin
    Mar 18, 2024
    1
    用 poetry pyproject.toml ?
    uliah
    uliah
    Mar 18, 2024
    2
    代码最终是运行在 Linux 上,推荐尝试 windows wsl || vms;
    代码需要跨平台运行,推荐尝试 go;

    DEVOPS 处理的一个典型问题:"我本地好好的,为什么到服务器就报错?"
    winterpotato
    winterpotato
    Mar 18, 2024
    3
    我想的也是 requirements.txt pyproject.toml 这类的:-)
    thinkershare
    thinkershare
    Mar 18, 2024
    4
    没有什么办法。
    jiayouzl
    jiayouzl
    Mar 18, 2024
    5
    我肯定选 docker
    peanutBark
    peanutBark
    Mar 18, 2024
    6
    poetry + docker. 完美解决问题
    kdwycz
    kdwycz
    Mar 18, 2024
    7
    wsl2 就不用迁移了,甚至 wsl2 能优雅的在不同的 windows 中迁移
    ClericPy
    ClericPy
    Mar 18, 2024
    8
    https://pypi.org/project/zipapps/
    用 -d 模式, 把依赖和源码打包成几十 KB 的玩意, 两边机器只要搞定解释器, 然后在目标机器上现安装依赖
    laqow
    laqow
    Mar 18, 2024
    9
    可能直接按包的方式开发,分发成不同的 wheel
    Jirajine
    Jirajine
    Mar 18, 2024
    10
    Rye, rustup + cargo for python
    https://rye-up.com/
    tomczhen
    tomczhen
    Mar 18, 2024
    11
    如果是开发的目的,poetry ,pipenv 这些都可以。如果是分发为目的,纯 Python 或者有 wheels 的包,可以用,pip 的--platform 参数指定平台,然后使用 zipapp 的相关工具 shiv 这些的可以打出一个 pyz 包,使用起来和 jar 包类似。没有 wheels 或者有动态依赖,或者依赖本身绑定平台,我是懒得去研究怎么解决了。
    XXWHCA
    XXWHCA
    Mar 19, 2024
    12
    我为什么没有 get 到点,requirements.txt pyproject.toml 不就是做这个的吗,固定版本号,那什么 os 下都一样啊。然后 python 版本 可以用 pyenv 直接切换,怎么会存在差异变化呢。
    jfcherng
    jfcherng
    Mar 19, 2024
    13
    @XXWHCA 如果某個版本號在某個平台下無法安裝呢
    craiiz
    craiiz
    Mar 22, 2024
    14
    @XXWHCA ai 大模型火了之后,玩了许多项目感觉 requirements.txt 和 pyproject.toml 并不能完全重现依赖环境,绝大部分都要按着项目里的 rq.txt 先装一遍,然后一个冲突一个冲突逐个解决....
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2604 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 14:09 · PVG 22:09 · LAX 06:09 · JFK 09:09
    ♥ Do have faith in what you're doing.