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

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

ただいまの
回答率

90.84%

  • Python 3.x

    4823questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • Ubuntu

    1198questions

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

  • Python 2.7

    1168questions

    Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Ubuntu 16.04 上にて、Python のデフォルトバージョン 2.7 から 3.6 に変更する事ができず困っている

受付中

回答 6

投稿

  • 評価
  • クリップ 0
  • VIEW 249

jcsmiles

score 1

 前提・実現したいこと

VPS Ubuntu 16.04 上で、Python のバージョンを 2.7 から 3.6 にバージョンアップ後、pythonのデフォルトバージョンを変更する事ができなくて困っています。

下記のサイトを参考に、

https://tetechi.com/python3-6/

[python3.6のインストール] まで完了しました。
[pythonのデフォルトバージョンを変更する] で、下記のコマンドを

mkdir -p $HOME/bin
ln -s /usr/bin/python3.6 $HOME/bin/python

入力中に以下のエラーメッセージが発生しました。

 発生している問題・エラーメッセージ

ln: failed to create symbolic link '/root/bin/python': File exists

 該当のソースコード

root@*****:~# mkdir -p $HOME/bin
root@*****:~# ln -s /usr/bin/python3.6 $HOME/bin/python
ln: failed to create symbolic link '/root/bin/python': File exists

 試したこと

https://askubuntu.com/questions/543516/what-is-a-failed-to-create-a-symbolic-link-file-exists-error

上記のサイトみたんですが、いまいち解決方法がわかりません・・・。
: File exists の問題はどこに行ってどのfile を削除すればよいのでしょうか? 

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

VPS Ubuntu16.04

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 6

+2

デフォルトを3系に変えたい理由は何でしょうか。
ubuntuのシステムでpython2系に依存したスクリプトが管理に使用されているので、不用意に変更するとこれらが動作しなくなる可能性があります。シンボリックリンクへの対処法を自力で判断できないとなると、まともに動かなくなったシステムを前に途方に暮れてしまう質問者氏の姿が見えすぎてしまうのですが……。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/04/25 17:33

    ご回答ありがとうございます。
    動かしたいプログラムがpython 3系なのですが、VPSで Ubuntu 自体の運用をあきらめたほうがよろしいでしょうか?あと、Cent OS 等実装できますのでそちらにするしかないのでしょうか・・。

    キャンセル

  • 2018/04/25 19:36

    ちょっと余計なことを言ってしまったかもしれません。質問と「参考にしたサイト」をもう一度見てみたのですが、実はpython3.6のインストール自体はあと一歩のところまで来ているように見えます。
    ルートと一般ユーザの違いはlinuxを使いこなすなら知らないでは済まされないので、ここはしっかり確認したほうがいいです。デスクトップとしてはCentOSよりはubuntuの方が使い勝手がいいように思うし、ここでこれまでの作業をご破算にしてCentOSでやり直するのはお勧めしません。

    キャンセル

  • 2018/04/25 19:48

    maisumakunさんが言っているように、mkdirやln云々の作業を一般ユーザでやり直せば多分うまくいきます。一般ユーザを作成していないようなら作成し、できるだけ、その一般ユーザのホームディレクトリ内で作業するようにしてください。

    キャンセル

0

$HOME/rootになっていますが、これは実際に使用するユーザーでやるべき作業です。いったんrootを抜けてください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/04/25 17:30

    手探り状態で行ってます・・。下記のサイトを産婚にVPSを契約、SSH接続したのですが、個別にユーザーを作成する必要があるということでしょうか?

    http://raspberrypi3.seesaa.net/article/453527932.html

    root を抜けて別ユーザーでログインするにはどのようにすればよろしいのでしょうか?

    キャンセル

0

aliasを使うのが一般的です。

echo 'alias python=python3.6' >> ~/.bashrc

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/04/25 17:32

    ご返信ありがとうございます。
    下記の通りためしてみましたが、ダメでした。
    root@*****:~# ln -s /usr/bin/python3.6 $HOME/bin/python
    ln: failed to create symbolic link '/root/bin/python': File exists
    root@*****:~# echo 'alias python=python3.6' >> ~/.bashrc
    root@*****:~# python --version
    Python 2.7.12

    キャンセル

  • 2018/04/25 17:56

    bashと打ち込むなどしないと読み込まれません。
    再度ssh接続・ログインしたりしても同じことが実現できます。

    キャンセル

0

Pythonでは、複数のバージョンを運用する仕組みとして、pyenv や anaconda といったものが存在します。
KojiDoiさんが言及していますように、システムのPythonのバージョンに依存したシステムスクリプトも存在します。
置き換えるのではなく、上記を用いてうまく切り替えてやる方法を採ってはいかがでしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

何をする必要があるのか質問者様ご自身も理解できていないのかもしれませんが、すでにpython3のインストールに成功しているなら、
コマンドラインからpython3と打てばREPLが起動しますし、
python3 スクリプト名で走りますし、
スクリプトのシェバンにpython3の実行ファイルを書いておけばそのまま起動できるでしょうし、
ライブラリもsudo pip3で入るはずです。

デフォルトのpythonを変えなくても、仮想環境やら何やらを入れなくてもpython3.6は使える訳で、それで良いんじゃ? と思ってしまいます。

現状の知識やスキルでlinuxやツールを使いこなすのが難しい以上、余計なことは極力しないで、自分の理解が及ぶ範囲で使えるものを使うべきです(ただし一般ユーザーはさすがに作った方が良い・・・)。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

-1

Geanyを使用しては、どうでしょうか?

 Geanyのインストール

 Ubuntu

apt-get install geany 

デフォルトでは2.7ですが、ビルドコマンドより3.6が使用可能です。

下記ですと、3.5になります。
python3 -c "import py_compile; py_compile.compile('%f')" 
python3 "%f"

ですのから、
python3.6 "%f"

と変更します。

ただし、私はあなたの環境でそうなる事は保証しません。
また、別途にpython3.6をインストールする必要も有るかも知れません。
https://www.python.jp/install/ubuntu/index.html

 バージョンを調べる

import platform
print(platform.python_version())

 .pyファイルを開いた状態です。

イメージ説明

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/04/25 17:38

    ご返信ありがとうございます。
    geany インストール後、下記のコマンド入力したがダメのようです。

    root@*****:~# python3 -c "import py_compile; py_compile.compile('%f')"python3.6 "%f"
    File "<string>", line 1
    import py_compile; py_compile.compile('%f')python3.6
    ^
    SyntaxError: invalid syntax
    root@*****:~# python3.6 -c "import py_compile; py_compile.compile('%f')"python3.6 "%f"
    File "<string>", line 1
    import py_compile; py_compile.compile('%f')python3.6
    ^
    SyntaxError: invalid syntax

    syntax エラーがでてしまいます・・・。

    キャンセル

  • 2018/04/25 17:45 編集

    .pyファイルを開いた状態で、
    メニュー欄のビルドより 深部のビルドコマンド設定を選択します。

    少し、待って下さい。画像を添えつけします。

    キャンセル

  • 2018/04/25 17:51

    全ての 1.
    を参考にして下さい。

    それでも、厳しいようなら、アナコンダを導入して下さい。

    キャンセル

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

  • ただいまの回答率 90.84%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Python 3.x

    4823questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • Ubuntu

    1198questions

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

  • Python 2.7

    1168questions

    Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。