V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nnegier
V2EX  ›  程序员

请问 Mac 命令行终端有没有办法创建虚拟环境?

  •  
  •   nnegier · 47 天前 · 2187 次点击
    这是一个创建于 47 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如创建一个虚拟环境,在这个环境中安装特定的 radis 、mysql ,这个环境启动的时候,这些生效,关闭的时候,就不生效。

    为什么不直接开个 linux 或 windows 的虚拟机,而要命令行?因为虚拟机感觉太重了,若实在没办法,就只好考虑那样做了。为什么想到这个,因为之前学 AI 相关的知识的时候,发现 python 有 mkvirtualenv ,然后 workOn 。

    27 条回复    2024-03-13 11:07:39 +08:00
    mooyo
        1
    mooyo  
       47 天前
    虚拟机重的话,为啥不用 docker
    L1shen
        2
    L1shen  
       47 天前
    直接用 dev-container 呗
    ecnelises
        3
    ecnelises  
       47 天前
    Unix 有一个通用的工具叫 chroot ,顾名思义就是在某个环境中把某个目录映射为 root ,理论上可以实现虚拟环境的功能。但 macOS 上这么折腾的毕竟少,要实现你的目的可能坑多。
    yangg
        4
    yangg  
       47 天前 via iPhone
    orbstack+docker run --rm
    oxygenbytes
        5
    oxygenbytes  
       47 天前
    orbstack
    cosette
        6
    cosette  
       47 天前
    推荐一个工具 [Mise]( https://github.com/jdx/mise) ,可以部分实现你要的功能。
    zed1018
        7
    zed1018  
       47 天前
    楼上说 docker orbstack 不还是虚拟机么。
    ysc3839
        8
    ysc3839  
       47 天前 via Android
    @ecnelises macOS 大概非常麻烦,即使有 chroot ,估计也比较难构造出一个能用的 rootfs 。而且很多程序会依赖 POSIX API 之外的上层 macOS API ,这些 API 在 chroot 环境下不一定能正常使用。
    AoEiuV020JP
        9
    AoEiuV020JP  
       47 天前 via Android
    我在用 utm 虚拟机可以有个纯命令行的显示设备代替虚拟显示器,
    效果就是用着像个普通命令行终端一样,复制粘贴什么也是直接 OK 的,
    加上 utm 可以直接下载安装好的 arch ubuntu 之类现成的系统,
    虽然还是虚拟机,但比普通虚拟机方案要方便很多,
    GeruzoniAnsasu
        10
    GeruzoniAnsasu  
       46 天前
    > 在这个环境中安装特定的 radis 、mysql ,这个环境启动的时候,这些生效,关闭的时候,就不生效。


    这除了 docker 哪还有其它方案? compose 还不够用的吗




    另外我依稀记得之前用 orbstack 出过什么问题最后还是用回 docker desktop 了,反正也不常驻,不用了直接 compose down 退出整个 desktop 就行,命令行环境下也几乎感觉不到是个虚拟机
    AssassinLOVE
        11
    AssassinLOVE  
       46 天前
    没看明白 后台开个 linux 虚拟机也可以命令行启停啊 干净又卫生
    layxy
        12
    layxy  
       46 天前
    multipass
    niubee1
        13
    niubee1  
       46 天前
    以前用过 vargrant ,和你的需求很贴合。现在用 docker ,podman 之类的
    Jirajine
        14
    Jirajine  
       46 天前
    @GeruzoniAnsasu #10 nix 是支持 macos 的,nix-shell (无论是否使用 flake )都完美符合这种需求,并且无需 VM 。
    dode
        15
    dode  
       46 天前
    加设备
    lostberryzz
        16
    lostberryzz  
       46 天前
    首先,虚拟机并不重
    paynezhuang
        17
    paynezhuang  
       46 天前
    orbstack
    tedzhou1221
        18
    tedzhou1221  
       46 天前
    orbstack +10086 orbstack 使用 docker , 你喜欢的话在 orbstack 再开个虚拟机都行
    vczyh
        19
    vczyh  
       46 天前
    zhengwenk
        20
    zhengwenk  
       46 天前
    docker 这么轻量的方案还有人嫌弃么
    jianyang
        21
    jianyang  
       46 天前
    这说的不就是 docker 吗
    ZedRover
        22
    ZedRover  
       46 天前
    nix
    ZedRover
        23
    ZedRover  
       46 天前
    @ZedRover https://grass.show/post/create-environment-with-nix-and-direnv/
    gitreny
        25
    gitreny  
       46 天前
    docker
    liuhailiang
        26
    liuhailiang  
       45 天前
    nebulabox
        27
    nebulabox  
       45 天前
    orbstack
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1001 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:55 · PVG 02:55 · LAX 11:55 · JFK 14:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.