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

Linux 下 Python 虚拟环境怎么切换

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

    系统的 python 版本为 2.7。 工程自带的虚拟环境为 3.7。 在工程根目录下执行 source venv/Scripts/activate 进入虚拟环境后,执行 python 进入编辑模式,发现所在版本仍然是系统的 2.7。有没有人知道这是什么肥四

    33 回复  |  直到 2019-06-29 15:37:28 +08:00
        1
    wlzd   82 天前 via Android
    你这不对吧,建议导出 requirment.txt,用系统自带的 python3 安装或者使用 miniconda 创建需要的 Python 版本
        2
    encro   82 天前
    deactive
        3
    JsonLee   82 天前 via iPhone
    用 which 看一下 python 的路径是不是 venv 中的,如果是,那就是你创建 venv 的时候使用 python2 创建的了,改成 python3 -m virtualenv venv 来创建试试。
        4
    ysc3839   82 天前 via Android
    virtualenv 创建的时候脚本中会写死绝对路径的,你这里说“工程自带的虚拟环境”大概是从别的地方拷过来的?那是用不了的。建议使用 pipenv
        5
    rookiebulls   82 天前 via iPhone
    Linux 下不应该是 bin 吗,windows 才 script
        6
    xiri   82 天前
    建议用 conda,创建的虚拟环境直接带自己的 python 解释器,想用哪个版本用哪个版本,完全不用管系统带的 python 环境是啥
        7
    Abbeyok   82 天前
    使用 pyenv 更简单: https://www.abbeyok.com/archives/352
        8
    mantou99   82 天前
    workon 可以切换
        9
    Trim21   82 天前 via Android
    Linux 下面应该是 venv/bin/ac*才对吧
        10
    bmos   82 天前
    今天刚刚重命名了一个文件夹,发现 source 之后环境就不生效了,全部重新弄了一遍.
        11
    676529483   82 天前
    虚拟环境又不是分发包,指向仍然是系统安装的 python。虚拟环境的目的是隔离不同包版本,不是分发应用用的。建议安装 py3 后重建虚拟环境
        12
    chinesestudio   82 天前 via Android
    安装 python3 然后 ls 搞定 几行代码
        13
    cwjokaka   82 天前
    @ysc3839
    @Abbeyok
    @676529483
    我遇到的大概是你们所说的这种情况了,pipenv 是否就可以解决这个问题了
        14
    polebug   82 天前 via Android
    docker 或
    虚拟机(vargant) + conda
        15
    ysc3839   82 天前 via Android
    @cwjokaka pipenv 能解决项目依赖管理,可以自动创建一个 virtualenv 然后安装依赖项目。但是不能实现打包整个 Python 环境然后跨系统使用。
        16
    gtlions   82 天前 via iPhone
    pyenv 了解下
        17
    xiaket   82 天前
    我觉得这根本不是 Python 的问题, 而是你不太熟悉 Linux 的问题...
        18
    LokiSharp   82 天前 via iPhone
    pipenv
        19
    skymei   82 天前
    你都没有进入虚拟环境吧
        20
    TrickWu   82 天前
    我盲猜你是直接把 windows 下的 env 直接拷贝到了 linux 下使用
        21
    cwjokaka   82 天前
    @TrickWu 对,整个项目连同 venv 给拷了
        22
    40huo   82 天前 via Android
    @cwjokaka 直接拷过去可能会出现路径错误的问题,看看 activate 脚本
        23
    TrickWu   82 天前
    @cwjokaka 这样不行的,你在 linux 得重新创建一个新的 env,跟 win 下不一样的
        24
    cwjokaka   82 天前
    @TrickWu 工作上的需要,要求开发好的项目可以在别的无环境系统上顺利运行
        25
    glasslion   82 天前
    @cwjokaka 哪有那么麻烦,把 activate 里的绝对路径改成相对路径就行了
        26
    happyhou   81 天前
    conda
        27
    Huelse   81 天前
    pyenv 挺好用的
        28
    podel   81 天前
    miniconda 超级好用。
        29
    brucedone   81 天前
    mini conda 爽一把
        30
    julyclyde   81 天前
    执行 python 就是进入 2.7
    因为 python3 叫 python3
        31
    hushao   81 天前
    pyenv+pipenv 挺好用的,就是 lock 文件的时候贼慢,最近直接用 docker 了
        32
    wwwn   81 天前
    pyenv+pipenv +1,急性子更适合 pyenv,一般够用了
        33
    szkoda   80 天前
    conda
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4166 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 02:52 · PVG 10:52 · LAX 19:52 · JFK 22:52
    ♥ Do have faith in what you're doing.