gpt4 book ai didi

python - 在 Vagrantfile 中安装 PyEnv

转载 作者:行者123 更新时间:2023-12-01 02:26:56 25 4
gpt4 key购买 nike

PyEnv 没有 great installer ,并且它需要一些安装后处理才能使其正常工作(例如修改 .bashrc 以添加到 $PATH 并制作两个 pyenv 通话)。我想知道如何有人能够通过 Vagrantfile 安装 PyEnv。我想构建一个可重用的镜像来进行开发,这样如果我销毁此虚拟机,我就不必执行重新安装过程。

我尝试运行安装程序并对 .bashrc 进行建议的编辑以使 pyenv 正常工作,但是当我进入我的 Vagrant 盒子时 pyenv 未安装。我尝试将 pyenv 脚本移动到 /bin/pyenv 中,但当机器启动时它不在那里。我怎样才能做到这一点?

作为引用,下面是我当前正在运行的脚本,该脚本无法在 Vagrantfile 中的 Vagrant 配置步骤期间将 PyEnv 安装到 Vagrant 计算机:

#! /usr/bin/env bash

# REQUIRES: curl, git

curl -L https://raw.githubusercontent.com/pyenv/pyenv-
installer/master/bin/pyenv-installer | bash

cat >> /home/ubuntu/.bashrc << 'EOF'

export PATH="$PATH:~/.pyenv/bin"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

EOF

exec $SHELL

并尝试将 pyenv 移动到 /bin 下:

#! /usr/bin/env bash

# REQUIRES: curl, git

curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
mv ~/.pyenv/bin/pyenv /bin/pyenv

cat >> /home/ubuntu/.bashrc << 'EOF'

eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

EOF

exec $SHELL

都不起作用。我如何安装它?

最佳答案

您的问题是您通过 Vagrant shell 配置以 root 身份运行脚本,以便为您的 root 用户完成更新。当您 ssh 进入虚拟机时,您将使用 vagrant 用户登录,因此它不可用。

当您需要更改 Vagrantfile 中的内容时,才能使用特权选项运行脚本

config.vm.provision "shell", path: "xxx", privileged: false

关于python - 在 Vagrantfile 中安装 PyEnv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47296428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com