BETA

Windowsにpyenvの環境作成を使用として全然うまくいかなかった記録

投稿日:2020-06-30
最終更新:2020-07-19

Windowsにpyenvの環境作成を使用として全然うまくいかなかった記録

pyenv-winを使ってwindowsにpythonの環境を構築する
Linuxにpyenvを使ってpythonの環境を作るのはよくやっていることだし何も難しいことはないと思っていた。
が、まったく上手くいかなかった・・・その時の記録
(最後にはpythonの環境を作ることは出来たが・・・)

pyenv-winのインストール

gitを使ってリポジトリからクローンするだけ
pyenv-winのgithubのREADMEに書いてある通り

    # これは powershell で実行している  
    git clone https://github.com/pyenv-win/pyenv-win.git ~/.pyenv  

普段から cdls~/ 使っているので、何の疑問も抱かずに実行
しかし、
カレントディレクトリに ~ というディレクトリが作成されそこにpyenv-winがダウンロードされた・・・

理由は分からないし仕方無いのでホームディレクトリに移動して再度実行 /Users/username/.pyenv を作成
パスの設定に進んだ。
ここでもgithubに書いてある通り

    [System.Environment]::SetEnvironmentVariable('path', "$env:HOME\.pyenv\pyenv-win\bin;$env:HOME\.pyenv\pyenv-win\shims;" + $env:Path, [System.EnvironmentVariableTarget]::User)  

を実行
しかしHOMEは何にも解釈されずpathには
\.pyenv\pyenv-win\bin;\.pyenv\pyenv-win\shims;
が追加された・・・
.pyenv があるのはホームディレクトリなので当然なんの意味も無い
HOME の部分を %USERPROFILE% に変えてみても特に変化なし

もう面倒になったのでchocolateyからインストールをすることにした
READMEによるとstep3まで飛ばせるとのこと pyenv --version を実行しバージョンが返って来るのでどうやらインストールには成功したみたい

pythonのインストール

pyenv-winのインストールが出来たので次はpythonのインストール
これもpyenvのヘルプにある通り

    pyenv install -l  

でインストールするバージョンを確認して

    pyenv install "インストールしたいバージョン"  

でインストールここは特に問題なく出来た
その後にインストールしたバージョンをグローバルで設定

    pyenv global "インストールしたバージョン"  

とくにエラーも出なかったのでpythonのバージョン表示で動作確認をするも何も表示されない
そしてpowershellからpython.exeを実行してみるとwindowsストアのアプリが起動した。
これはgithubを確認したところ2019年5月のwindows updateを適用している場合は
環境変数のパスで

  • %PYENV%\bin
  • %PYENV%\shims

この2つのパスを
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps
より前に書いて置く必要がありそれが出来ていないだけだった。
(これが書いてあるのはpathの設定step2にあたる。step3まで飛ばせるんじゃなかったの...)
なのでGUIから %USERPROFILE%\AppData\Local\Microsoft\WindowsApps を下へ
pyenvのパスより下にくるように設定し無事pythonが動くようになった

終わりに

一応ここまでで指定したバージョンのpythonは動くようになるが
わからないことが多すぎて府に落ちない・・・
自分の環境が悪かったんだろうか?確かに色々インストールされていたしpythonにいたっては3.8と3.6のディレクトリが残っていたけど・・・
何か分かったら更新することにする。

参考

参考というかpyenv-winのリポジトリ
https://github.com/pyenv-win/pyenv-win

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@extra_orderの技術ブログ 最近はPythonばかり書いてるのでPythonの記事が多くなりそう。 アイコンの画像何にしよう。

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう