V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
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 · 213 天前 · 4183 次点击
    这是一个创建于 213 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我的 Mac 上装了很多 Python 环境,除了 Mac 本身自带的之外,还有 Anaconda 、MiniConda 、Python 官网安装的,以及一大堆历史遗留创建的虚拟环境,也不记得是 venv 还是 pipenv 弄得了。因为以前入门没概念,上手就是 pip install ,结果装到哪里自己都不知道。

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

    想知道有没有什么工具可以做一下自动化的管理或者清理。
    29 条回复    2024-06-05 21:58:50 +08:00
    7Wate
        1
    7Wate  
       213 天前   ❤️ 1
    Pyenv ── https://github.com/pyenv/pyenv

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

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