40685


ubuntu14.04にanacondaをインストールしたくpyenvを以下のコマンドでインストールしたのですが、パスが上手く通せません。

実行したコマンド

[code]

    sudo apt-get install git
    sudo apt-get install gcc make libssl-dev libbz2-dev libreadline-dev libsqlite3-dev zlib1g-dev
    git clone https://github.com/yyuu/pyenv.git ~/.pyenv
    echo "export PYENV_ROOT=$HOME/.pyenv" >> ~/.bashrc
    echo "export PATH=$PYENV_ROOT/bin:$PATH" >> ~/.bashrc
    echo 'eval "$(pyenv init -)"' >> ~/.bashrc
    source ~/.bashrc
    
[/code]

最後のsourceコマンドを実行すると

[code]

    No command 'pyenv' found, did you mean:
     Command 'p7env' from package 'libnss3-tools' (main)
    pyenv: command not found
    
[/code]

このようなエラーが出ます。

vimで見ると

[code]

    echo "export PATH=$PYENV_ROOT/bin:$PATH" >> ~/.bashrc
    
[/code]

上の部分が下記のパスに変わっていてここがおかしいと思うのですがどのように直していいのかわかりません。

vimで見た~/.bashrc

[code]

    export PATH=/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
    
[/code]

どなたか詳しい方教えて下さると幸いです。よろしくおねがします。


CC BY-SA 3.0
2018-01-03T06:06:19.433
40683
2018-01-03T07:21:54.907
22565
question
python linux python3 ubuntu pyenv
ubuntu14.04にpyenvをインストールしたけどパスが上手く通らない。


結論としてはVimで開いたのなら直接編集すればいいと思います。

なお、そうなる原因を説明するとクォートの違いです。

[code]

    echo "export PATH=$PYENV_ROOT/bin:$PATH" >> ~/.bashrc
    
[/code]

この場合、ダブルクォートで囲われた文字列に変数があると展開されます。  
しかし、この段階ではまだ`$PYENV_ROOT`が定義されていないので空文字列になります。  
どうしても`echo`からダブルクォートされた文字列を追記したいなら変数が展開されないようにする必要があります。

[code]

    echo 'export PATH=$PYENV_ROOT/bin:$PATH' >> ~/.bashrc
    
[/code]

一方、シングルクォートで囲われた文字列では変数が展開されず、そのまま追記されます。


CC BY-SA 3.0
2018-01-03T07:21:54.907
40685
2018-01-03T07:21:54.907
25936
40683
answer