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

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

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

Juliaとは、科学技術計算に特化した、高水準・高性能な動的プログラミング言語です。オープンソースとして公表されており、書き易く動きが早いことが特徴です。

Q&A

1回答

520閲覧

JuliaのPlotsパッケージのplotをVSCode上で実行させてグラフを表示させたい。

Amagrammer

総合スコア0

Julia

Juliaとは、科学技術計算に特化した、高水準・高性能な動的プログラミング言語です。オープンソースとして公表されており、書き易く動きが早いことが特徴です。

0グッド

0クリップ

投稿2023/12/05 12:31

実現したいこと

  • Plotsパッケージを使ったグラフをCtrl+Alt+Nで表示させたい。

前提

  • Windows11である。

  • 一年程前に環境構築をして、久しぶりに起動した。

  • VSCodeは昔に無事インストール出来た。

  • VSCodeにJuliaの拡張機能はリリース版をインストールしている。

  • Juliaはバージョンが1.8.5だったので、新しく1.9.4をインストールした。

  • JuliaにPlotsパッケージも無事入っている。

  • Juliaから直接Plotsを使ったコードを実行させるとちゃんと別windowでグラフが表示される。

  • VSCodeの右上の▶の実行ボタン(Ctrl+Alt+N)を押すと実行できる。ただし、Plotsを使っている場合は、本来表示されるはずの画像は出てこず、エラーも出ない。新しいファイルがフォルダの中に出来ている事もない。

  • VSCodeでShift+Enterを押すとパスのエラーが出る。

  • VSCodeで実行しようとしているファイルはDocumentにある。(私は知識がないため良し悪しが分からないが、もしかしたらこれのせいかもしれない。出来ればDocumentでVSCodeをしたいと思っているが別の方法がおすすめなのであればその限りではない。)

  • Jupiterで動かしたいわけではない。(あくまで、VSCode内で動かしたい。)

パスのエラー

ターミナル プロセスが起動に失敗しました: シェル実行可能ファイル "C:\Users\(ユーザー名)\AppData\Local\Programs\Julia-1.9.4\bin\julia" へのパスが存在しません。

VSCodeでファイルを開き、Shift+Enterを押すとこのエラーが出る。ただ、グラフの表示に関係あるのかは分からない。そもそも、エラーが出ない場合は本来どのような動きをするコマンドなのか調べてもよく分からなかった。Pythonでは実行らしいがJuliaだとどうなるかを理解していない。

該当のソースコード

Julia

1using Plots 2plot(sin)

直接Juliaで入力した場合はグラフが表示される。
VSCodeでファイルを開き、Ctrl+Alt+Nを押すとグラフは表示されないが正常終了のような動きをする。

試したこと

  • Juliaの再インストールと前のJuliaのアンインストール。

  • パスのエラーをみて、Windowsのユーザー環境変数のPathに
    C:\Users\ (ユーザー名)\AppData\Local\Programs\Julia-1.9.4\bin
    というパスを追加した。

  • これで動かなかったのでパスが間違っているのかと思い、
    C:\Users\ (ユーザー名)\AppData\Local\Programs\Julia-1.9.4\bin\julia
    も追加した。しかしこれでも同じパスのエラーが出てしまう。
    現在は両方共ユーザー環境変数に追加している。

  • cmdでWhere Juliaとコマンドを打つとC:\Users\ (ユーザー名)\AppData\Local\Programs\Julia-1.9.4\bin\julia.exeが出てくる。

  • cmdでJuliaと打つとJuliaが起動し、ここでは該当のソースコードが動く。

  • C:\Users\ (ユーザー名)\AppData\Roaming\Code\User\settings.jsonというパスのsetting.jsonに

json

1"julia.execution.codeInREPL": true, 2"editor.unicodeHighlight.invisibleCharacters": false, 3"terminal.external.windowsExec": "C:\\Windows\\System32\\cmd.exe", 4"julia.executablePath": "C:\\Users\\(ユーザー名)\\AppData\\Local\\Programs\\Julia-1.9.4\\bin\\julia",

という設定をされているのを確認した。

関係あるのか分からない情報

VSCode内の拡張機能として入れて、一年ほど前に環境構築したLaTeXは動いています。LaTeXのsetting.jsonもC:\Users\ (ユーザー名)\AppData\Roaming\Code\User\settings.jsonというパスに存在します。

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

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

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

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

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

guest

回答1

0

まずは落ち着いて下さい。
現状をこちらで推測して説明します。

まず現状Windowsのユーザー環境変数には

  • C:\Users\ (ユーザー名)\AppData\Local\Programs\Julia-1.9.4\bin
  • C:\Users\ (ユーザー名)\AppData\Local\Programs\Julia-1.9.4\bin\julia

が設定されています。

コマンドプロンプトからwhere juliaでjuliaの実行ファイルのフルパスが返ってきています。

ということは,
"julia.executablePath" には "julia.exe" を設定するだけでOKだと思います。
ただし,VSCodeを立ち上げたままの場合,OS側の環境変数を設定してもすぐに反映されないので,まずは落ち着いてOSを再起動させることです。

エラーが出ていた理由はPATHに設定したものの一つにC:\Users\ (ユーザー名)\AppData\Local\Programs\Julia-1.9.4\bin\juliaがあるので,このフォルダが存在しないからかもしれません。

後,Plotsモジュールその他が古い可能性があるので,Juliaを単体(ショートカットからなどREPLが効く状態のもの)で立ち上げて

julia>

の状態で,]を入力すると

(@v1.9) pkg>

の状態になるので,ここで

(@v1.9) pkg>update⏎

と入力して全部のモジュールをアップデートしておいてからVSCodeを実行させるとよいでしょう。

ただ,Plotsの結果がVSCode上に表示されない理由は分かりません。すみません。
念のため,次のような感じでも試してみて下さい。

julia

1using Plots 2gr() 3plt = plot(sin) 4display(plt)

で,VSCodeを立ち上げてJuliaのコードを編集すると,バックグラウンドでインテリセンス用のモジュールがコンパイルされるので,最初は急がず,ゆっくり作業をしましょう。

あとDocumentフォルダ云々は最初「このフォルダは信頼できるか?」の質問で「信頼できる」方を選んでおけば問題ないかと思います。

追記:コメント欄で再質問をされたのでその回答

あ、何故か分かりませんがいつのまにか右上の実行ボタンを押すことで全体のプログラムを読み込んで実行してくれるようになりました。
ただ、ショトカのキーは分からず、Shift+Enterでの実行は依然選択したもののみとなっております。出来ればShift+Enterか何かのショトカでプログラムを実行させたいですがご存知でしたら教えていただけると幸いです。

私プロフィールの欄のスキルの頭文字を続けると「E・M・A・C・S」になるようにするぐらいのEmacsユーザーなのに,何でVSCodeユーザーのためにアレコレやってるんだろう,プロフィールの欄に「再質問は答えません」と書いているのに何で再質問してくるんだろう,朝4時にコメントしてくるような人と普通リアルタイムでコメントのやり取りなんかできへんやろ,
とブーたれながら回答します。私基本性格陰湿なので。

▷にカーソルを合わせると,機能名はjuila: Execute active File in REPLであることが分かります。
イメージ説明

そいで,Ctrl+Shift-PもしくはF1で表示されるコマンドパレットでjuliaと入力し,juila: Execute active File in REPLを探すとショートカットキーが登録されていないことが分かります。
イメージ説明

juila: Execute active File in REPLの横に表示される「⚙」マークを押すとショートカット登録画面に移動します。
イメージ説明
で項目を右クリックするかなんかしてショートカットを登録します。画面例は「Alt+J」「Alt+Enter」で登録した例です。
イメージ説明
最後に単独でEnterを押すとショートカット登録完了です。最後の単独Enterは登録されません。
Juliaの機能拡張では「Alt+J」で始まるキー入力に割り当てられたショートカットが多いようですね。

最後に確認です。
イメージ説明

投稿2023/12/05 13:49

編集2023/12/09 05:30
ujimushi_sradjp

総合スコア2094

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

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

Amagrammer

2023/12/07 18:21

返信が遅れてすみません、今気づきました。 まず"julia.executablePath" のことをよく分かっていませんでした。実行ファイルのフルパスを設定するわけじゃなかったんですね。実行ファイル名だけでよかったのでしょうか?"julia.exe"を設定すると確かにShift+Enterでエラーが出なくなり、Julia REPL (v1.9.4)のターミナルが出るようになり、選択範囲だけの実行がされました。グラフもちゃんと出ます。ただ、Ctrl+Alt+Nの方では依然としてグラフは出てこないですね。ただこちらはcmdから実行.jlファイルを起動しているからな気がしてきました。 グラフが出てきたのでかなり嬉しいのですが、ドラッグで選択した範囲のみの実行を行うようで、そのため全選択をしてからでないと全体を動かせないといった動きをしています。これは正常なのでしょうか?出来れば右上の実行ボタンを押すことでREPLを起動させ、全体を動かしたいです。(本来の質問とは異なる新しい質問なので新しく質問をした方がよかったでしょうか?初めてこのサイトを使ったので雰囲気があまり分かっていません)
Amagrammer

2023/12/07 19:03

あ、何故か分かりませんがいつのまにか右上の実行ボタンを押すことで全体のプログラムを読み込んで実行してくれるようになりました。ただ、ショトカのキーは分からず、Shift+Enterでの実行は依然選択したもののみとなっております。出来ればShift+Enterか何かのショトカでプログラムを実行させたいですがご存知でしたら教えていただけると幸いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問