V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
uuair
V2EX  ›  问与答

有没有办法运行特定的软件启动特定的 python 版本?

  •  
  •   uuair · 2017-01-07 22:45:51 +08:00 · 1702 次点击
    这是一个创建于 2878 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我想用 you-get 下载视频,但这是运行在 python3 环境下的,而我还在学习 python2 ,新手嘛,就怕折腾,有没有办法指定软件运行在某个环境下?如果不成,我只能切换了,因为我的 python3 是在 pyenv 下面安装的,切换到不是特别麻烦。。。

    14 条回复    2017-01-08 19:33:19 +08:00
    xmoiduts
        1
    xmoiduts  
       2017-01-07 23:27:33 +08:00 via Android
    py -2 xxx.py

    py -3 xxx.py
    myh
        2
    myh  
       2017-01-08 00:01:30 +08:00
    virtualenv ,可以试一下。
    sensui7
        3
    sensui7  
       2017-01-08 00:09:31 +08:00 via iPhone
    shebang
    binux
        4
    binux  
       2017-01-08 00:14:47 +08:00
    什么鬼,你这根本就不是问题,你 pip3 安装的 you-get 就是调用的 python3 ,和你 python 是 2 还是 3 没有任何关系。
    根本不存在切换的问题。
    Miy4mori
        5
    Miy4mori  
       2017-01-08 00:24:07 +08:00 via Android
    docker 或者 vagrant
    uuair
        6
    uuair  
    OP
       2017-01-08 01:38:30 +08:00
    @xmoiduts 我这个是 pip3 安装了 you-get 以后的事情。。。所以我可以设置全局 3 ,用 py -2 的方式学我的 2 对么?

    @myh 我正在看呢。。。但是没找到怎么给特定程序设置特定虚拟环境。。。


    @Miy4mori 我再装个 docker ,是不是太。。。。


    @binux

    ```
    localhost:~ uuair$ you-get -v
    pyenv: you-get: command not found

    The `you-get' command exists in these Python versions:
    3.6.0

    ```

    这是我在 python2 下输入的情况
    binux
        7
    binux  
       2017-01-08 02:25:08 +08:00
    @uuair which you-get, 如果它不位于全局 $PATH ,移动到全局 $PATH 。然后打开,第一行,如果指向 pyenv 的路径,改到具体的 python3 路径上。
    uuair
        8
    uuair  
    OP
       2017-01-08 03:11:20 +08:00   ❤️ 1
    @binux you-get 跟 python3 肯定都在一个虚拟目录里啊
    /Users/uuair/.pyenv/shims/you-get
    /Users/uuair/.pyenv/shims/python

    这还怎么改?我只能 pyenv global 3.6.0 的时候才能访问到 python3 啊
    binux
        9
    binux  
       2017-01-08 03:20:22 +08:00   ❤️ 1
    @uuair 你 ll /Users/uuair/.pyenv/shims 一下, shims 应该是个软连接。如果不是,那么 /Users/uuair/.pyenv/shims/you-get 就是个软连接。把它移到 /usr/local/bin 。
    然后打开 /usr/local/bin/you-get ,第一行,如果它是 /Users/uuair/.pyenv/shims/python ,把它改成 /Users/uuair/.pyenv/versions/3.4.2/bin/python (取决于 ll /Users/uuair/.pyenv/shims/python 的结果)
    uuair
        10
    uuair  
    OP
       2017-01-08 03:24:03 +08:00
    @binux 我解决了,你给了我一个思路。。。。因为说的太复杂了,我懒得改了,所以我用了一个命令
    pyenv global system 3.6.0
    我把俩 python 都弄上来了,现在可以了-_-
    python -V 显示的是 2.7 ,但是 3 的也可以运行
    binux
        11
    binux  
       2017-01-08 03:26:31 +08:00
    @uuair 就不应该装 pyenv 里,它的设计理念是要求指令跟着切换的版本变的。
    如果你用 brew 在系统上装一个 python3 ,用那个 python3 安装 you-get 就没这个问题。
    uuair
        12
    uuair  
    OP
       2017-01-08 03:49:15 +08:00 via iPhone
    @binux 我一直以为不能装两个 python 呢
    Tink
        13
    Tink  
       2017-01-08 10:56:25 +08:00 via iPhone
    现在 Linux 不都是自带两个版本的 python 吗
    leopku
        14
    leopku  
       2017-01-08 19:33:19 +08:00
    pyenv 不解释
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1189 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:56 · PVG 01:56 · LAX 09:56 · JFK 12:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.