

**env**

  * Windows 10
  * fish
  * ssh on msys2
  * Username has white blank
  * I change home directory from msys2 default home directory(/c/msys64/home/{User name}) to "/c/Users/{User name}" on both local setting and ssh setting.

**bug**

[code]

    > pyenv --version
       The system cannot find the file specified.
       pyenv 2.64.6.1
    
    > pyenv versions
       * 3.9.0
    
    > python -V
       "{Username former part}" is not recognized as an internal or external command,
       operable program or batch file.
    
    > "/c/Users/User name/.pyenv/pyenv-win/shims/python" -V
       "{Username former part}" is not recognized as an internal or external command,
       operable program or batch file.
    
    >which python
       "/c/Users/User name/.pyenv/pyenv-win/shims/python"
    
    >which pyenv
       "/c/Users/User name/.pyenv/pyenv-win/bin/pyenv"
    
[/code]

自身でエスケープしても同じエラーが起こります。  
pyenv-win python 内部のバグだと考えられるのですがどうでしょうか？  
リモートでの作業なので、できればサーバ側ではなくリモートで解決できる解決策があると嬉しいです。  
最終的にはusernameを変えるのが良いのでしょうが、リモートでは変えられないのと、根本的にエスケープ処理の問題がどこで起こっているのか解決したいと考えています。

[code]

    $HOME="Users/USER NAME"
    $PYENV_ROOT="~/.pyenv"
    $PYENV_HOME="~/.pyenv/pyenv-win"
    $PYENV="~/.pyenv/pyenv-win"
    
[/code]


CC BY-SA 4.0
2021-05-06T06:06:50.113
75690
2021-05-06T08:30:59.663
2021-05-06T08:30:59.663
3060
36057
question
python windows pyenv msys2
pyenv-win で適切にエスケープができません


[pyenv-win](https://github.com/pyenv-win/pyenv-win) を使われているという事であれば、READMEの
[Finish the installation](https://github.com/pyenv-win/pyenv-win#finish-the-
installation) の項目を確認してみてください。

ポイントとなりそうな部分のみ抜粋しますが、以下のコマンドをそれぞれ PowerShell から実行して PATH を設定しているようです。

>
[code]

>     [System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE +
> "\.pyenv\pyenv-win\","User")
>
> [System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE +
> "\.pyenv\pyenv-win\","User")
>  
[/code]

>
[code]

>     [System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE +
> "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" +
> [System.Environment]::GetEnvironmentVariable('path', "User"),"User")
>  
[/code]

質問中に書かれている `$PYENV_ROOT` などをどこで設定しているのか分かりませんが、Windows 環境であるなら `~`
を使っているのが原因で問題が起きている気がします。


CC BY-SA 4.0
2021-05-06T08:29:28.543
75694
2021-05-06T08:29:28.543
3060
75690
answer