プロが教える店舗&オフィスのセキュリティ対策術

pthon3.6をインストール後に、以下のコマンドでデフォルト状態を3.6にしたら、端末が起動しなくなりました。代わりにXtermというものでemacsで書いた以前は実行できていたコードをpythonで実行したら、実行できませんでした。numpyのimportができていないなどのエラーが出ました。わけわかりません。

$ sudo rm /usr/bin/python
taka@taka-pc3:~$ sudo ln -s /usr/bin/python3 /usr/bin/python
$ sudo rm /usr/bin/python3
$ sudo ln -s /usr/bin/python3.6 /usr/bin/python3

2016年にpython3.5とpython2.7はデフォルトになっていました。
この設定の時は、うまくいっていました。
どうすればいいのでしょうか?助けてください。。。

A 回答 (1件)

> $ sudo rm /usr/bin/python


> $ sudo ln -s /usr/bin/python3 /usr/bin/python
この部分はpythonコマンドでpython3が起動するようにしている。
元のコマンドがどこにあるのかしらないけど、/usr/bin/python2とか/usr/bin/python2.7とかのコマンドがあるようなら
< $ sudo rm /usr/bin/python
< $ sudo ln -s /usr/bin/python2.7 /usr/bin/python
などとすればpython2.7を使えるように戻るのでは?

> $ sudo rm /usr/bin/python3
> $ sudo ln -s /usr/bin/python3.6 /usr/bin/python3
この部分はpython3コマンドでpython3.6が起動するようにしている。
同様に
< $ sudo rm /usr/bin/python3
< $ sudo ln -s /usr/bin/python3.5 /usr/bin/python3
でpython3.5に戻るのでは?

端末が起動しなくなったのは端末起動時にPythonで書かれたスクリプトを実行していて、それがpython2.7かpython3.5を想定していて3.6に対応していない。あるいは下記の問題がある。下記の問題だけなら、パッケージインストールで対応できますが、それ以外は色々とスクリプトの書き換えが必要になったりするので上記の要領で元の環境に戻してしまった方が楽かもしれません。
> $ sudo rm /usr/bin/python
する前のpythonが2.7か3.5か分かりませんが、2.7ならこちらだけ戻せばUbuntuの動作には支障なくなるかと思います。

> numpyのimportができていないなどのエラー
これはpython3.6の環境でnumpyなどのパッケージをインストールしていないのでは?
numpyなら
$ pip install numpy
でインストールできると思います。
環境によってはapt getなど他のパッケージ管理ツールでインストールした方が良いかもしれませんが、pythonパッケージならpipインストールでも問題ないと思います。
他のパッケージについてもエラーが出るものはインストールしていけば良いでしょう。たまにimportパッケージ名とpipインストール名が異なるパッケージもあるので要注意ですけど。
# 自分はいちいちネットで検索してインストール方法を確認しています
# 主にWindowsのAnaconda環境なのでUbuntuとはまた違いますけど
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!