【问题标题】:How do I run python on my Vagrant vm instance that is CoreOS?如何在作为 CoreOS 的 Vagrant vm 实例上运行 python?
【发布时间】:2016-04-23 21:13:10
【问题描述】:

如何在作为 CoreOS 的 Vagrant vm 实例上运行 python?我想访问 python 解释器。谢谢!

【问题讨论】:

    标签: vagrant coreos


    【解决方案1】:

    您也可以使用以下脚本在 CoreOS 上安装python,我们称之为install_python.sh

    #!/bin/bash -e
    
    PYPY_VERSION=5.10.1
    
    wget -O - https://bitbucket.org/pypy/pypy/downloads/pypy3-v$PYPY_VERSION-linux64.tar.bz2 |tar -xjf -
    mv -n pypy3-v$PYPY_VERSION-linux64 pypy
    
    ## library fixup
    mkdir -p pypy/lib
    if [[ -f /lib64/libncurses.so.5.9 ]]; then
            libncurses_version=5.9
    else
            libncurses_version=6
    fi
    
    ln -snf /lib64/libncurses.so.$libncurses_version $HOME/pypy/lib/libtinfo.so.5
    
    mkdir -p $HOME/bin
    
    cat > $HOME/bin/python <<EOF
    #!/bin/bash
    LD_LIBRARY_PATH=$HOME/pypy/lib:$LD_LIBRARY_PATH exec $HOME/pypy/bin/pypy3 "\$@"
    EOF
    
    chmod +x $HOME/bin/python
    $HOME/bin/python --version
    

    您可以将其作为配置脚本添加到您的Vagrantfile

    Vagrant.configure("2") do |config|
      config.vm.provision "shell", path: "install_python.sh"
    end
    

    core 用户或root 用户安装python,并使用/home/core/bin/python 使用python 解释器,例如:

    $ /home/core/bin/python --version
    Python 3.5.3 (3f6eaa010fce, Jan 11 2018, 04:44:35)
    [PyPy 5.10.1 with GCC 6.2.0 20160901]
    
    $ /home/core/bin/python          
    Python 3.5.3 (3f6eaa010fce, Jan 11 2018, 04:44:35)
    [PyPy 5.10.1 with GCC 6.2.0 20160901] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>>> 
    

    【讨论】:

    • @MaxLobur 谢谢。这是正确的。 CoreOS 1911.x.x 中不再有libncurses.so.5.9。我已经更新了脚本以支持上述版本的 CoreOS。
    【解决方案2】:

    应用程序和依赖项(例如 python)在 CoreOS 上的容器中运行。有很多预建的python容器,比如:https://quay.io/repository/freshbooks/python

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-02
      • 2016-10-12
      相关资源
      最近更新 更多