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 · 2024-05-28 11:40:59 +08:00 · 4859 次点击
    这是一个创建于 408 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我的 Mac 上装了很多 Python 环境,除了 Mac 本身自带的之外,还有 Anaconda 、MiniConda 、Python 官网安装的,以及一大堆历史遗留创建的虚拟环境,也不记得是 venv 还是 pipenv 弄得了。因为以前入门没概念,上手就是 pip install ,结果装到哪里自己都不知道。

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

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

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

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