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

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

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

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

Python 3.x

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

Q&A

解決済

2回答

6216閲覧

python3をデフォルトで利用したい

momo_momo

総合スコア11

Python 2.7

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

Python 3.x

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

0グッド

0クリップ

投稿2019/05/12 02:33

前提・実現したいこと

python3をデフォルトで使いたい
具体的には、ターミナルで$which pythonを実行すると下記の結果を得たい

$which python /Library/Frameworks/Python.framework/Versions/3.7/bin/python または PATH=/usr/local/bin:$PATH

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

ターミナルで$which pythonを実行すると/usr/bin/pythonと表示される

$which python /usr/bin/python

該当のソースコード

~/.bash_profileの中身は下記の通り

# Setting PATH for Python 3.7 # The original version is saved in .bash_profile.pysave export PATH="/Library/Frameworks/Python.framework/Versions/3.7/bin:${PATH}" export PATH=/usr/local/bin:$PATH alias python="python3"

試したこと

  • .bash_profileに上記3行を追加し、source ~/.bash_profileを実行
  • ターミナルの再起動/MAC本体の再起動
  • ターミナルで$python --versionを実行するとPython 3.7.3が返ってくるように変更

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

  • macOS Mojave

初めての質問により不足している情報等ございましたら申し訳ございません。何卒よろしくお願いいたします。

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

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

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

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

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

iwamot

2019/05/12 03:03

「ls -l /usr/bin/python」の結果を追記していただくことは可能でしょうか?
momo_momo

2019/05/12 03:15 編集

ご回答ありがとうございます!出力結果は下記の通りです。 $ls -l /usr/bin/python -rwxr-xr-x 1 root wheel 66880 4 16 13:22 /usr/bin/python
iwamot

2019/05/12 03:32

ありがとうございます。たびたび申し訳ないのですが「ターミナルで$python --versionを実行するとPython 3.7.3が返ってくるように変更」とは、具体的にどのような方法をとられたのでしょうか?
momo_momo

2019/05/12 03:40

こちらこそありがとうございます。とんでもないです…! ~/.bash_profileにalias python="python3"を追加することで変更しました。
iwamot

2019/05/12 03:46

手元で同様にして「which python」すると下記のようになるんですよね。 $ which python alias python='python3' /usr/bin/python3 再度「source ~/.bash_profile」しても変わらないでしょうか。
momo_momo

2019/05/12 04:02

そうなんですね…。 再度試してみましたが/usr/bin/pythonのままです。 後出しで申し訳ないのですが、python3の導入する際にpkgファイルでインストールする方法でうまく行かず、アンインストールなどせずにHomebrewでインストールする方法を試してみているのですが、その辺が問題の可能性もあるのでしょうか。 本件を調べても既に解決策の設定になっている場合が多く、次の一手が見つからない状態です。
iwamot

2019/05/12 04:07

「python --version」の結果が「Python 3.7.3」になっているのであれば、Python3が実行されているはずなので、それでひとまず納得して先に進んでしまうのも一つの手かもしれません。 どうしてもwhichの結果が気になるようでしたら、既存の「/usr/bin/python」を「/usr/bin/python2」にリネームし、「/usr/bin/python」を「/Library/Frameworks/Python.framework/Versions/3.7/bin/python」へのシンボリックリンクにする手も考えられます。ぼくならやらないですが・・・。
momo_momo

2019/05/12 04:22

確かにここに拘る必要性もないのかもしれません。 一旦必要に迫られない限りこのままで進めてみようかと思います。ご丁寧にありがとうございました!
guest

回答2

0

ベストアンサー

/Library/Frameworks/Python.framework/Versions/3.7/bin/pythonというファイルが存在しないとう事だと思います。
/Library/Frameworks/Python.framework/Versions/3.7/bin/python3があるのでしょう。

現在は、alias python="python3"によって、pythonコマンドが、python3コマンドになり、/Library/Frameworks/Python.framework/Versions/3.7/bin/python3が実行されています。
alias python="python3"によらず同じ効果を得たいと言うことなら、

Bash

1cd /Library/Frameworks/Python.framework/Versions/3.7/bin 2ln -s python3 python

ですね。

投稿2019/05/12 04:26

otn

総合スコア84533

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

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

momo_momo

2019/05/12 04:41

ご回答ありがとうございます。 ご指摘の通り、/Library/Frameworks/Python.framework/Versions/3.7/bin以下にあるファイルはpythonではなくpython3でした。 ご教示いただいた方法とalias python="python3"を消してwhich pythonを実行すると期待する結果を得ることができました。python3に対してシンボリックリンクpythonを作成することによって/Library/Frameworks/Python.framework/Versions/3.7/bin以下のファイルがpythonではなくpython3だったことを解決しているという認識です。 お忙しい中ご教示いただきありがとうございました!
guest

0

具体的には、ターミナルで$which pythonを実行すると下記の結果を得たい

エイリアスはただのエイリアスですので、エイリアスを使う手順を取る限りはwhichの結果には影響しません。

/Library/Frameworks/Python.framework/Versions/3.7/bin以下にpythonがあれば、

export PATH="/Library/Frameworks/Python.framework/Versions/3.7/bin:${PATH}"

の一行でいいはずですが。うまくいかなかったらecho $PATHとかでPATHがどうなっているのか見ましょう。


目的にもよりますが、システムデフォルトのpythonを切り替えるより良い方法があるかもしれません。依存などがある可能性もあるので、できるだけシステムはいじらない方が賢明です。

  • 単にpython3で動かしたいものがある

pythonと打つ代わりにpython3やpython3.7などのコマンドが通るかもしれません。通ったらそれでいいです。

  • 開発環境として使う

venvなどの仮想環境を活用した方が便利です。

投稿2019/05/12 04:07

hayataka2049

総合スコア30933

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

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

momo_momo

2019/05/12 04:34

>/Library/Frameworks/Python.framework/Versions/3.7/bin以下にpythonがあれば、 このご意見とotnさんのご意見で上記の以下に存在しているのがpython3であることに気が付きました。ありがとうございます…! >目的にもよりますが、… 仰る通り、目的に合わせて対策した方が得策だと考えられます。頭が硬くなっておりこの問題を解決しないと先に進めないと考えていた気がします。今回は開発環境として使いたいなと思ってお李ますので、仮想環境の導入を検討したいと思います。 お忙しい中、ご回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問