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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Python 3.x

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

Q&A

3回答

2144閲覧

centosでpython3系が動かない理由

K_9301

総合スコア69

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Python 3.x

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

0グッド

1クリップ

投稿2019/05/26 03:35

#前提
現在、pythonアプリケーションをCentOSに作成しようと初期構築段階です。

#課題
python2系は動くのですが、3系を動かそうとするとcannot execute binary fileとでて
動かすことができず。
どういった調査・解決策を打つべきか分からずご教示お願いします。。

[root@instance-1 /]# ls -1 /usr/bin/* | grep python /usr/bin/python /usr/bin/python2 /usr/bin/python2.7 /usr/bin/python3 /usr/bin/python3.6 /usr/bin/python3.6-config /usr/bin/python3.6m /usr/bin/python3.6m-config /usr/bin/python3.6m-x86_64-config [root@instance-1 /]# /usr/bin/python3 bash: /usr/bin/python3: cannot execute binary file [root@instance-1 /]# /usr/bin/python2 Python 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>

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

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

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

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

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

guest

回答3

0

まず事実関係の確認。
/usr/bin/python3が実行権のないバイナリーといわれているので、その確認

command

1ls -l /usr/bin/python3

たぶん/usr/bin/python3.6へのシンボリックリンクと表示されるので、それもさらに確認

command

1ls -l /usr/bin/python3.6

ここに実行権があれば「/usr/bin/python3」の代わりに「/usr/bin/python3.6」と叩けばいいはず。

但し「/usr/bin/python3」で実行できないのはpython3のインストール時になんらかのトラブル(エラー)が発生していた可能性が高い。
インストールログの確認、またはpython3のアンインストール&インストールが必要かも。

投稿2019/05/26 07:34

編集2019/05/26 07:37
sage

総合スコア1216

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

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

K_9301

2019/05/26 08:19

コメント有難うございます。 ご指摘に基づいて、表示されたシンボリックリンク含めて実行しても 同様の結果がかえってきました。 推測いただいてるトラブルな気もしております。。 python3系をアンイストールする方法ってどうしたらよいでしょうか? ▼ ご指摘に基づき実行した内容 [root@instance-1 /]# ls -l /usr/bin/python3 lrwxrwxrwx. 1 root root 14 Apr 1 22:58 /usr/bin/python3 -> /bin/python3.6 [root@instance-1 /]# /bin/python3.6 bash: /bin/python3.6: cannot execute binary file ▼ cat /usr/bin/python3.6 中身を見てみたらすごい文字化?がかなり起きてるような気がします EL: F  > � @@�$@8 @@@@@@��88@8@@@ ��` �`� � ��` �`  TT@T@DDP�td� (以下省略)
K_9301

2019/05/26 08:25

yum remove python みたいなことをするとヤバそうなのですが、 3系だけアンインストールしたほうが良いのですよねきっと
sage

2019/05/26 08:34

yum remove pythonとやると(インストールされていたら) python2系が削除されます(python3系はそのまま)。python3系をインストールした時に使用した名前をremoveで指定してください。
guest

0

/usr/bin/python3.6なら動くのでは?
ls -l /usr/bin/python3 はどう表示されますか?

投稿2019/05/26 04:33

scsi

総合スコア2840

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

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

K_9301

2019/05/26 07:46

コメントありがとうございます。ご指摘分含め、関連しそうなパスでやってみましたがこんな感じでした。 [root@instance-1 /]# /usr/bin/python3.6 bash: /usr/bin/python3.6: cannot execute binary file [root@instance-1 /]# ls -l /usr/bin/python3 lrwxrwxrwx. 1 root root 14 Apr 1 22:58 /usr/bin/python3 -> /bin/python3.6 [root@instance-1 /]# /bin/python3.6 bash: /bin/python3.6: cannot execute binary file [root@instance-1 /]# ls -l /bin/python3.6 -rwxr-xr-x. 2 root root 11379 Apr 2 23:42 /bin/python3.6 [root@instance-1 /]# /bin/python3.6 bash: /bin/python3.6: cannot execute binary file
scsi

2019/05/26 09:56

構築のために実行したコマンドを書いていただけますか?
K_9301

2019/05/26 10:59

yum install -y python36u python36u-libs python36u-devel python36u-pip となります!
scsi

2019/05/26 12:27

python36u がどこのリポジトリからインストールするのかわからなかったので epel から python36 をインストールしてみました。問題ありません。 # cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) # yum install -y python36 python36-libs python36-devel python36-pip # ls -l /usr/bin/python* lrwxrwxrwx 1 root root 7 5月 22 17:33 /usr/bin/python -> python2 lrwxrwxrwx 1 root root 9 5月 22 17:33 /usr/bin/python2 -> python2.7 -rwxr-xr-x 1 root root 7216 4月 9 23:31 /usr/bin/python2.7 -rwxr-xr-x 1 root root 304 5月 3 22:15 /usr/bin/python2.7-futurize -rwxr-xr-x 1 root root 308 5月 3 22:15 /usr/bin/python2.7-pasteurize lrwxrwxrwx 1 root root 9 5月 26 21:26 /usr/bin/python3 -> python3.6 lrwxrwxrwx 1 root root 16 5月 26 21:26 /usr/bin/python3-config -> python3.6-config -rwxr-xr-x 2 root root 11408 4月 26 06:05 /usr/bin/python3.6 lrwxrwxrwx 1 root root 17 5月 26 21:26 /usr/bin/python3.6-config -> python3.6m-config -rwxr-xr-x 2 root root 11408 4月 26 06:05 /usr/bin/python3.6m -rwxr-xr-x 1 root root 173 4月 26 06:04 /usr/bin/python3.6m-config -rwxr-xr-x 1 root root 3435 4月 26 05:44 /usr/bin/python3.6m-x86_64-config lrwxrwxrwx 1 root root 18 5月 26 21:26 /usr/bin/python36 -> /usr/bin/python3.6 # python3.6 Python 3.6.8 (default, Apr 25 2019, 21:02:35) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
guest

0

たんにPATHがPython3に通ってないだけでは。
フルパスでPython3を動かしてみたらどうなるでしょう

投稿2019/05/26 03:47

y_waiwai

総合スコア87774

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

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

K_9301

2019/05/26 08:02

コメント有難うございます。私のやり方が間違ってるかもですが、 フルパスで試したつもりなのですが、やり方あってますでしょうか? これでもうまくいかず。。 [root@instance-1 /]# ls -dl /usr/bin/python3 lrwxrwxrwx. 1 root root 14 Apr 1 22:58 /usr/bin/python3 -> /bin/python3.6 [root@instance-1 /]# /bin/python3.6 bash: /bin/python3.6: cannot execute binary file
y_waiwai

2019/05/26 09:00

そのファイルはロードしてるけど実行ファイルではない、ってことなんで、実行可能なバイナリではないってことなんでしょうかねえ。 #そのエラーメッセージはちとみたことない。 いっそのことも一度Pythonインストールし直してみるかでしょうかねえ
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問