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

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

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

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

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

8231閲覧

[Ubuntu]sudoでPythonを実行すると初期のPythonが使われてしまう

kurosuke___

総合スコア217

Python 3.x

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

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2017/06/22 20:01

UbuntuにAnaconda3をインストールして使っていたのですが、mkdirでパーミッションエラーになったのでsudo pythonで実行したのですが、AnacondaではなくPython2.7が使われてしまいました。

sudoでもAnacondaを使えるようにするにはどうしたらよいでしょうか?

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

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

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

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

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

guest

回答3

0

Anacondaでは.bashrcのパス設定にAnacondaパスを一番前に追加することにより、通常のpythonをAnacondaにしています。
まずsudoで設定されているシェルでAnacondaのパスが一番前に追加されていないからではないでしょうか?

which pythonコマンドでsudoとノーマルユーザーでの違いを見て下さい。


よく見たらmattnさんも同じ回答をしていますね失礼しました。

投稿2017/06/23 01:39

編集2017/06/23 01:49
pashango2

総合スコア930

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

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

kurosuke___

2017/06/25 11:27

.bashrcに追記したらsudoでも参照されました。 ありがとうございます。
guest

0

お疲れ様です!!
なるほど・・・自分も昔似たようなことがあったかもしれません・・・

自分の場合は、ちょっと質問者の方と完全に同じシチュエーションではないので 参考にならなかったらごめんなさい。

私は、anacondaを使うのをやめて、pyenv でpythonのバージョン管理をしつつ virtualenvで pandasやscipyなどの必要なモジュールを1個ずつ入れていくことで、anacondaでしたかったことを実現しました!(今でもそれで構築した環境でデータサイエンス系統のパッケージを含めた開発してますが、困ったことはないです。)

anaconda使うと、virtualenvかpyenvか忘れましたがどちらかのバージョン管理システムと競合しちゃったんですよね・・・ それで泣く泣く使わなくなりました・・・

投稿2017/06/23 05:22

k_mawa82

総合スコア234

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

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

kurosuke___

2017/06/25 11:29

そうですね・・・私は一個一個ライブラリをいれていくのが面倒というだけでAnacondaを使うので、バージョン管理等はcondaコマンドで作っちゃっていますね。
guest

0

ベストアンサー

sudo -E python でどう起動するでしょうか。もしそれで Anaconda3 が起動したのなら、環境変数の問題です。

通常使っているユーザで Anaconda3 を有効にする為に行った設定(.bash_profile の変更など)を root でも行う必要があります。それは環境変数かもしれませんし、alias かもしれません。

一応、元のユーザから root に対して sudo コマンドで引き継げる環境変数を /etc/sudoers で設定する事は出来ますし、sudo -E python のまま使っても構いません。

尚、Anaconda3 を /usr/local などにインストールされたのなら大丈夫ですが、通常使うユーザのホームディレクトリ配下にインストールされたのならば root でないと触れないファイルが出来てしまうので出来れば sudo で使わない方が良いと思います。

投稿2017/06/22 23:49

mattn

総合スコア5030

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

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

kurosuke___

2017/06/22 23:54

回答有り難うございます! sudo -E python ではAnacondaは起動しませんでした。 Anacondaディレクトリは/home/username/にあります。 Pythonコード上では/home/username/のドキュメントディレクトリにmkdirでディレクトリを作りたいだけなのですが、それでもPermission deniedになってしまうのはなぜなのでしょうか・・・
mattn

2017/06/22 23:55

username はご自分ではないという事でしょうか?
kurosuke___

2017/06/23 00:20

いえ、ログイン中のユーザーの名前です
mattn

2017/06/23 00:23

Anaconda3 が起動しないのは、おそらく導入時に設定された環境変数か alias が理由だと思います。ただ sudo しないといけない物がホームディレクトリ配下にあるのは好ましくないと思います。python であれば pyc というファイルが出来ますが、一般ユーザから更新できないため、もしスクリプトを更新したとしても pyc が上書きできずトラブルの元になると思われます。
kurosuke___

2017/06/25 11:27

なるほど・・・anacondaをrootで扱うディレクトリに配置しパスを通せば問題ないのでしょうか?
mattn

2017/06/25 11:34

おそらく echo 'export PATH="$PYENV_ROOT/versions/anaconda3-4.3.1/bin:$PATH"' >> ~/.bashrc の様な事を行ったと思うのですが、それを root の .bashrc にもしてあげると[ひとまずは]動くと思います。
kurosuke___

2017/06/25 11:42

パスだけ通してもユーザーディレクトリ配下にAnacondaを配置しておくのは良くないということでしょうか?
kurosuke___

2017/06/25 11:56

Install Anaconda as a user unless root privileges are required. ということはroot権限で使いたい場合はやはりルートとしてインストールしたほうが良かったのでしょうか・・・
mattn

2017/06/25 12:26

そうかもしれないですね。各ユーザ専用の anaconda を持った方がいいかもしれません。その場合、sudo でどう動くのか定かではないですが。
kurosuke___

2017/06/25 13:27

わかりました。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問