質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2079閲覧

WSLでpythonをインストールしてもUbuntuを再起動するとpyenvコマンドが使えない+pythonのバージョンが変わらない

ythaikaset

総合スコア16

WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2019/06/06 22:57

前提・実現したいこと

WSLのUbuntuを使ってpython3.7.2をインストールし、Djangoを使いたい。

発生している問題

https://qiita.com/t-iguchi/items/7b664e8d7fe4bb3646ae
上記URLを参考にして、以下の部分までは進みました。
2.(2)pythonをインストール
完了後、python -Vコマンドをするとpython3.7.2が表示されます。

3.(1)
Ubuntuを再起動してpython -Vを入力すると以下のようなエラー文が出てしまいます。

該当のソースコード

Ubuntu

1 2Command 'python' not found, but can be installed with: 3 4sudo apt install python3 5sudo apt install python 6sudo apt install python-minimal 7 8You also have python3 installed, you can run 'python3' instead.```

補足情報(FW/ツールのバージョンなど)

Ubuntu18.04

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

1度目は動作したとのことですので、pyenvは問題なくインストールされていると仮定すると、可能性としてはシェルの起動時のスクリプトでのpyenvの設定にミスがあるのではないかと思います。

参考にしているページでは **(1)pyenvをインストールする。**の

Bash

1echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc 2echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc 3echo 'eval "$(pyenv init -)"' >> ~/.bashrc

の箇所がそれにあたります。

この処理によりホームディレクトリ直下の .bashrc というファイルに

Bash

1export PYENV_ROOT="$HOME/.pyenv" 2export PATH="$PYENV_ROOT/bin:$PATH" 3eval "$(pyenv init -)"

の3行が記述があるはずで、先ずはこれを確認してください。(*1)

もし記述があるのであれば、参考にしているページ同様に

$ source ~/.bashrc $ pyenv

として実行して、pyenvが動作するかどうかを確認してください。(*2)

上記の処理でpyenvが動作するようでしたら、WSL起動時に .bashrcが呼ばれていないということになります。ご使用している shell環境を再度確認してみる必要がありそうです。(*3)

上記の処理でも動作しないのであれば、pyenvが問題なくインストールされているかを確認する必要があるでしょうね。(*4)

とりあえずはここまでの確認をしてみるとよいかと思います。

投稿2019/06/06 23:35

magichan

総合スコア15898

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ythaikaset

2019/06/07 05:11

早速丁寧なご回答誠にありがとうございます。 magichan様のご助言通り動かし、 $ source ~/.bashrc $ pyenv でpyenvが動作致しましたので、どうやらWSL起動時に.bashrcが呼ばれていないようです。 もし可能でしたら「shell環境を再度確認」についてご助言を頂けると幸いです。
magichan

2019/06/07 06:45

お使いのシェルは Bash なのですか? もし違うシェルに変更していたら当然 .bashrc は呼ばれませんが
ythaikaset

2019/06/08 04:15

はい、bashを使用しております。 echo $SHELL をすると/bin/bashと表示されました。
ythaikaset

2019/06/08 04:57

.bash_profileを作成し、 if [ -f ~/.bashrc ]; then . ~/.bashrc fi を書き込んだら起動時に.bashrcが読み込まれ、今回の問題が解決できました。 ご回答誠にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問