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

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

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

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python 3.x

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

Q&A

解決済

2回答

1708閲覧

jupyter notebookで実行ができなかったが、ターミナルで自分で作った環境をactivateしないと実行できるようになった理由がわからない

gunmed

総合スコア55

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python 3.x

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

0グッド

0クリップ

投稿2019/03/08 13:31

編集2019/03/08 14:48

pythonの基礎を終えて、jupyter notebookを始めたのものです。
pythonユーザーのためのJupyter 入門実践を参考にしてjupyter notebookを設定しました。
バージョンはmac 10.14.1、python3.7でanacondaはpython3.7用のものをインストールしました。

まず、ターミナルで環境を作りました。

$ conda create -n jupyter-env python=3.7

そして、以下のようにjupyter,notebook,bokeh,matplotlib,pandas、インストールしていきました。

$ conda install -y jupyter==1.0.0

同様に

$ conda create -n conda-practice python=3.7

という環境を作り、同じものをインストールしました。
そして同様に

$ conda create -y -n env-test python=3.7

という環境を作り(-n -y の意味は不明)、この環境にはなにもインストールしませんでした。
**
$ conda info -eで確認したのが以下です。

base * /anaconda3 conda-practice /anaconda3/envs/conda-practice env-test /anaconda3/envs/env-test jupyter-env /anaconda3/envs/jupyter-env

一旦ターミナルを終了、ターミナルに

$ source activate jupyter-env

とすると、先頭に(jupyter-env)がつきましたので、

$ jupyter notebook

と入力し、開きました。
そして、新しくファイルを作り

print('hello jupyter')

として、シフト+エンターをしても実行されませんでした。
ぐぐって、restartをしたり、再起動したりあらゆる方法を試してみても実行されなかったのですが、
ふと、ターミナルを終了して、再度開き、$ source activate jupyter-envをせずに、いきなり、

$ jupyter notebook

として、開くと、実行できるようになってました。
でも、これって、環境をjupyter-envで作ってるのに、activateしないで、jupyterを開いても、matplotlibなどはインストールされてない環境だから、使えないのでは、と思い、

import math import numpy as np from matplotlib import pyplot as plt def main(): # 描画領域 fig = plt.figure(figsize=(10, 6)) # 描画するデータ x = np.arange(0, 10, 0.1) y = [math.sin(i) for i in x] # グラフを描画する plt.plot(x, y) # グラフを表示する plt.show() if __name__ == '__main__': main()

適当なサイトをみつけ、コピペして実行すると、matplotlibをimportして、ちゃんと結果がでてました。

そこで、他の環境はどうだと思い、conda-practiceとenv-testでもactivateして実行してみました。すると、conda-practiceでは実行できなかったのですが、なにもインストールしてないenv-testでは実行できました。

jupyter-envの環境を使っていくので、アクティベートしておくとなっているのですが、jupyter-envでは実行ができません。どうにかして、この環境で実行できるようにしたいです。

以上が質問の内容になっています。インストールを何もしてない環境(env-test)やactivateなしで開くjupyter notebookでは、関数が実行できるのに、matplotlibやpandasなどをインストールした環境(jupyter-env,conda-practice)では実行できない理由がどうしてもわからないので、ぜひ教えていただけると幸いです。

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

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

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

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

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

guest

回答2

0

conda installは、インストールしたい環境をactivateしてから、実行されてますでしょうか。
もしくは、--nameでインストール先の環境を指定しましたか?
そうでなければ、デフォルトの環境にパッケージがインストールされていますので、書かれているような動作になると思います。

投稿2019/03/10 08:15

bsdfan

総合スコア4560

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

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

gunmed

2019/03/11 05:57

回答ありがとうございます。 はい、activateしてから、installしました。 anaconda navigator をみると、自分が作ったjupyter-envとconda-practiceにはインストールされており、右端のversionのところに青チェックが入っています。 デフォルトのパッケージが確かいろいろとにインストールされているのですが、どの環境にも同じものがデフォルトでインストールしてあり、デフォルトのみのenv-testは実行できるのに、デフォルトを含めて他のもインストールしたupyter-envとconda-practicが実行できないのは、なにがいけないのでしょうか?デフォルトにjupyter,notebook,bokeh,matplotlib,pandasをインストールして利用するとなっているのですが、、すみません、私の理解力が乏しいもので。
bsdfan

2019/03/11 09:38

では、なにもactivateしていない状態と、それぞれでactivateした状態とで、 which jupyter を実行したときに、何が表示されますか?
gunmed

2019/03/12 09:38

回答ありがとうございます。 すみません、先ほど、この返信が来てるのを知らずに、勝手にパッケージを全て最新のバージョンにして実行したら、無事動くようになりました。返信遅くなってしまいすみません。
bsdfan

2019/03/12 09:48

最終的には、消して再インストールと思っていたので、それで動いたのならば良かったです。 env-testをactivateした状態でも、標準(何もactivateしていない状態)の環境がPATHの後ろの方にに残っていて、そこのjupyterが実行されて動いてるのではないかと予想していました。 jupyter-envでは、jupyterが環境に入っているので、それが起動して、でも壊れててちゃんと動かないのかな、と。
gunmed

2019/03/12 14:10

多くのことを考えていただきありがとうございました。 一応、自己解決の欄に記入しておきます。 お手数をおかけしました。
guest

0

自己解決

インストールしたパッケージをを最新のバージョンにupdateして実行すると、問題なく実行できました。

投稿2019/03/12 14:11

gunmed

総合スコア55

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問