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

机器上的 Python 解释器装的太多

  •  
  •   yuhu96 · May 28, 2024 · 8980 views
    This topic created in 892 days ago, the information mentioned may be changed or developed.
    我的 Mac 上装了很多 Python 环境,除了 Mac 本身自带的之外,还有 Anaconda 、MiniConda 、Python 官网安装的,以及一大堆历史遗留创建的虚拟环境,也不记得是 venv 还是 pipenv 弄得了。因为以前入门没概念,上手就是 pip install ,结果装到哪里自己都不知道。

    实际工作中切换或者管理感觉很头疼。

    想知道有没有什么工具可以做一下自动化的管理或者清理。
    29 replies  •  2024-06-05 21:58:50 +08:00
    Zopiya
    Zopiya
    May 28, 2024❤️1
    1
    Pyenv ── https://github.com/pyenv/pyenv

    pyenv 是一个用于管理 Python 版本的工具。它允许你在同一台机器上安装和切换多个 Python 版本,避免了不同项目之间由于 Python 版本不同而产生的冲突。通过 pyenv ,你可以轻松地安装特定的 Python 版本,并为不同的项目设置不同的 Python 版本。
    laike9m
    laike9m
    May 28, 2024❤️3
    2
    可以看一下这篇文章,推荐了我认为比较合理的 setup

    https://laike9m.com/blog/best-python-development-setup-for-2022-and-beyond,144/
    lozzow
    lozzow
    May 28, 2024❤️1
    3
    用 rye,每个工程一个自己的环境,就像 node 一样
    w568w
    w568w
    May 28, 2024
    4
    一项目一环境的话 pdm 就挺好的,用起来很像 yarn 或者 npm 。
    TimePPT
    TimePPT
    May 28, 2024❤️1
    5
    我现在用 pyenv+poetry ,丝滑
    fbichijing
    fbichijing
    May 28, 2024
    6
    虚拟环境名起和项目名相关不就行了?项目与虚拟环境共存亡...
    FYFX
    FYFX
    May 28, 2024
    7
    清理的话,你可以整理一下环境变量(顺便找到当前 python/pip 安装路径),不过根据你装的方式/用的 shell 啥的可能在多个.rc 文件改了 PATH ,管理工具和方法我看别人都说的差不多了
    crackidz
    crackidz
    May 28, 2024❤️1
    8
    实际上只需要 miniconda 就足够用了吧...
    skyrim61
    skyrim61
    May 28, 2024
    9
    如果使用 pycharm, 用 pycharm 上面的
    louisxxx
    louisxxx
    May 28, 2024
    10
    最优解还是装个 orbstack 启动容器,在容器里安全各种环境,而不是直接在 mac 系统里装。
    你直接装 mac 系统里清理,迁移,起停都非常难控制
    looveh
    looveh
    May 28, 2024
    11
    我已经不知道有哪些环境了,随便用。碰到问题再说
    tangtang369
    tangtang369
    May 28, 2024❤️1
    12
    用 miniconda,建议建立个测试环境,统一安装在这里,没有必要一个项目一个环境,只有那种大型项目单独建立环境,不然你会发现每搞个项目都是安装一堆重复的包,还占用环境,比如你跑 github 上的项目,就建立个 github 环境,以后 github 上拉的项目就用这个环境,除非 python 版本不匹配再新建立,这种项目你跑过一次你会发现基本不会再运行。
    keakon
    keakon
    May 28, 2024
    13
    每个项目都运行 python -m venv .,然后执行 bin/pip install ...
    iX8NEGGn
    iX8NEGGn
    May 28, 2024
    14
    我想问下,2024 年了,python 各种工具创建的虚拟环境可以移动了吗,之前的移动后一些库会用不了,还得重新装。
    ysc3839
    ysc3839
    May 28, 2024 via Android
    15
    我个人选择用 Homebrew 装 Python 。不喜欢 pyenv ,因为要本地编译。
    ysc3839
    ysc3839
    May 28, 2024 via Android❤️1
    16
    @iX8NEGGn venv 不可移动似乎主要是因为脚本里面写了绝对路径。其实可以考虑手动把 whl 解压到一个目录内,然后把这个目录添加到 sys.path 里面。我在公司的项目里试过这么干,配合 CentOS 内置的 Python 似乎没什么问题。
    ihciah
    ihciah
    May 28, 2024 via iPhone
    17
    推荐统一用 conda
    009694
    009694
    May 28, 2024 via iPhone
    18
    只用 miniconda 不就可以了。。
    zeusho871
    zeusho871
    May 28, 2024
    19
    poetry ?
    ysw
    ysw
    May 28, 2024 via iPhone
    20
    Direnv + nix
    如果不怕上手难度的话,我用起来挺好的
    现在有一个 decency 就是这个封装的
    ysw
    ysw
    May 28, 2024 via iPhone
    21
    @ysw devenv
    mayli
    mayli
    May 28, 2024
    22
    推荐 rye
    ALLROBOT
    ALLROBOT
    May 28, 2024
    23
    楼主不会用 miniconda 或 Anaconda 版本管理多个项目的 Python 环境?
    1800ml
    1800ml
    May 28, 2024
    24
    每次跑代码前,用一下 pip -V ,查看用的是哪个环境
    SuperXX
    SuperXX
    May 28, 2024 via iPhone
    25
    不推荐 Miniconda 或者 Anaconda ,package 多了安装很慢, 推荐用 Mamba
    JackieMe
    JackieMe
    May 28, 2024 via Android
    26
    我因为同时需要用 Python R 和其他一些软件,就统一 Miniconda 管理了。基本上就保持 Python R 其他软件按语言分开各建一个环境,Python 如果需要不同版本也新建一个环境。系统 Python 就只装了 Jupyter 套装。嫌 conda 算依赖和下载太慢就装上 mamba 。
    Davic1
    Davic1
    May 29, 2024
    27
    shapper
    shapper
    May 29, 2024
    28
    pycharm venv 每个项目单独装,不装全局,用完可以删除
    usiantein
    usiantein
    Jun 5, 2024
    29
    @tangtang369 兄弟说出了我的心声,用 Python 开发就了确实是这样,没必要一个项目一个环境,很多时候并没有很严重的依赖问题。我现在就是一个 3.10 的 miniconda3 的环境,基本就能覆盖很多的的项目开发需求了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1014 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 18:53 · PVG 02:53 · LAX 10:53 · JFK 13:53
    ♥ Do have faith in what you're doing.