web-dev-qa-db-ja.com

Ubuntu 14.04でpython 3をデフォルトのインタープリターとして設定する方法

EC2でUbuntu 14.04 LTSを使用しています。デフォルトのpythonインタープリターをpython 2.7からデフォルトでインストールされる3.4.0に変更します。

私がする時:

/home/ubuntu$ which python
/usr/bin/python

/usr/bin/を見て:なるほど:

enter image description here

明らかにそこにあります。これをデフォルトとして設定するにはどうすればよいですか?

30
user61629

これを行うには複数の方法があります。最初に、/usr/bin/pythonが実際に/usr/bin/python3 sym-linkと同じ場所を指すように、sym-linksを変更します。ただし、これは悪い考えです(以下で説明します)。

2番目のオプションは、ユーザー固有のコマンドエイリアスを作成することです。これは、2つのオプションのうち、より良いオプションです。


Sym-linksの変更は悪いです

PythonはシステムスクリプトとソフトウェアのためにUbuntuの多くで使用されており、ソフトウェアは特定の場所にPython(およびPythonを起動するコマンド)があることに依存しています。
Ubuntu/Debianが使用するPythonの詳細については、 here(Ubuntu Wiki-かなり時代遅れ) および here(Debian Wiki) を参照してください。

さて、Python 3(あなたの場合は3.4.0)Pythonの最新かつ推奨バージョンですが、まだたくさんありますPython 3に移植されていないコードがまだあります。

デフォルトでは、これまで見てきたように、pythonを実行するとPython 2.7インタープリターが実行されます。これはコンピューターのソフトウェアが期待するものです。

したがって、Python 3を実行するようにコマンドを変更すると、Python 2.7コードを実行しようとするため、あらゆる種類の混乱とコード破損が発生します(これはPython 2.7構文およびPython 2.7ライブラリ)Python 3.4インタープリターを使用(Python 3.4構文およびPython 3.4ライブラリを想定)。


より安全なエイリアス作成方法

ただし、canでできることは、個人使用のエイリアスを作成することです。これは、次の行を追加することで簡単に実現できます。

alias python=python3

または

alias python=/usr/bin/python3

/ ~/.bash_aliasesファイル-Sudo nano ~/.bash_aliasesで編集できます。次に、ターミナルを閉じて再度開くと、システムの残りの部分に影響を与えることなく、個人的な使用のためにpythonコマンドを使用できるはずです。

ただし、これは、Pythonインタープリターの適切な配置に依存するシステム全体のコードを壊すことはありませんが、他の問題を引き起こす可能性があると聞いたため(推奨されません)知らない/覚えている。)


Pythonインタープリターをまったく変更する必要のない適切な方法

構文が正しいPythonを記述している場合、 Shebang として知られているものを含める必要があります。 ( here および here も参照してください。)

適切に含めると、./SCRIPT-NAME.pyを介してスクリプトを実行可能にした後、Sudo chmod +x ./SCRIPT-NAME.pyを介してPythonスクリプトを実行できるようになります。また、.pyファイルタイプを完全に忘れて、コードを空のファイルに入力してSCRIPT-NAMEとして保存し、Sudo chmod +x ./SCRIPT-NAMEを実行して./SCRIPT-NAMEで実行することもできます。

確かに、これはdoesもう少し手間がかかりますが、正しいインタープリターを使用してコードが実行されるようにします。

そして、本当に。コードを正しく実行するためにpython3と入力するのはどれくらい難しいですか?私は意地悪になろうとはしていませんし、なぜあなたがこれをしたいのかを見ることができますが、pythonの代わりにpython3を実行することはそれほど難しくありません。

41
RPiAwesomeness