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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Python 2.7

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

Python 3.x

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

Ubuntu

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

Q&A

6回答

8149閲覧

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

jcsmiles

総合スコア7

Python 2.7

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

Python 3.x

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

Ubuntu

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

0グッド

0クリップ

投稿2018/04/24 23:09

前提・実現したいこと

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

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

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

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

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

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

guest

回答6

0

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

投稿2018/04/25 02:46

KojiDoi

総合スコア13669

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

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

jcsmiles

2018/04/25 08:33

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

2018/04/25 10:36

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

2018/04/25 10:48

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

0

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

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

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

投稿2018/04/25 12:45

hayataka2049

総合スコア30933

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

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

0

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

投稿2018/04/25 03:28

kazto

総合スコア7196

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

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

0

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 03:16

編集2018/04/25 08:49
Untitled_Sample

総合スコア192

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

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

jcsmiles

2018/04/25 08: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 エラーがでてしまいます・・・。
Untitled_Sample

2018/04/25 08:48 編集

.pyファイルを開いた状態で、 メニュー欄のビルドより 深部のビルドコマンド設定を選択します。 少し、待って下さい。画像を添えつけします。
Untitled_Sample

2018/04/25 08:51

全ての 1. を参考にして下さい。 それでも、厳しいようなら、アナコンダを導入して下さい。
guest

0

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

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

投稿2018/04/24 23:18

mkgrei

総合スコア8560

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

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

jcsmiles

2018/04/25 08: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
mkgrei

2018/04/25 08:56

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

0

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

投稿2018/04/24 23:12

maisumakun

総合スコア145123

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

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

jcsmiles

2018/04/25 08:30

手探り状態で行ってます・・。下記のサイトを産婚にVPSを契約、SSH接続したのですが、個別にユーザーを作成する必要があるということでしょうか? http://raspberrypi3.seesaa.net/article/453527932.html root を抜けて別ユーザーでログインするにはどのようにすればよろしいのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問