スクリプトのデバック時に発生する『DLL load failed while importing _core: 指定されたモジュールが見つかりません。』というエラーの修正方法

スクリプトのデバック時に発生する『DLL load failed while importing _core: 指定されたモジュールが見つかりません。』というエラーの修正方法

ChaosComb
Advisor Advisor
7,129件の閲覧回数
9件の返信
メッセージ1/10

スクリプトのデバック時に発生する『DLL load failed while importing _core: 指定されたモジュールが見つかりません。』というエラーの修正方法

ChaosComb
Advisor
Advisor

こんにちは.

 

久しぶりにスクリプトの勉強をしようと簡単なプログラム(自動で生成される,"Hello world"を表示するプログラム)で試しているのですが,

import adsk.core
の実行時に,タイトルに表記したエラーが発生し,デバックを実行することができません.
 
ChaosComb_0-1651756574519.png

 

環境設定がうまくいっていないのかと思い,VS codeをアンインストールしてみましたが状況は変わりませんでした.
何か致命的なところで誤りがある気がするのですが,見つけられずにいます.
修正方法等ございましたらよろしくお願いいたします。
(使用しているPythonのバージョンは3.9.12です.)
 
 


0 件のいいね
解決済み
7,130件の閲覧回数
9件の返信
返信 (9)
メッセージ2/10

kandennti
Mentor
Mentor

@ChaosComb さん こんにちは。

 

比較的最近、類似した状況がAPIフォーラムにも書かれています。

(恐らく日本人の方)

https://forums.autodesk.com/t5/fusion-360-api-and-scripts/cannot-edit-script-file-from-fusion-360/td... 

未だに解決には至っていないようです。

 

一応Autodeskの@Rushikesh.kadam さんによれば、

”Vscodeのextensionsのms-pythonを全て削除してみて”

との事です。

※extensionsのms-pythonがインストールされていない状態で

Fusion360の "編集" でvscodeを起動すると最新のものがインストール

されるはずです。

但し、個人的にはこれだけでは解決しない様な気がしてます・・・。

 

念の為、スクリプトのフォルダー内にこちらの印をした3ファイルは

あるでしょうか?(.vscodeはフォルダ)

1.png

”import adsk.core” でエラーとなるのは、”settings.json” の影響を感じます。
メッセージ3/10

ChaosComb
Advisor
Advisor

@kandennti さん

 

いつもお世話になってます.

ご連絡いただきありがとうございます.

 

確かに,リンク先に記載されていたようにms-pythonを全削除してから再起動するとコマンドプロンプトの画面が出てきてms-python.python-2022.4.1が新しく増えました.

 

ChaosComb_1-1651762288860.png

 

ただ,その後も同様のエラーが出ている状況です.

 

追加で記述してくださった3つのフォルダは確認できています.

settings.jsonの記述内容も画像で添付しておりますので,ご確認のほどよろしくお願いいたします.

(プログラミングで悩むより,環境設定で詰みがち,プログラムあるある)

 

ChaosComb_0-1651762205435.png

スクリーンショット 2022-05-05 235654.png

 


0 件のいいね
メッセージ4/10

kandennti
Mentor
Mentor

@ChaosComb さん

 

恐らくFusion360の再インストールしか方法が無いような気がします。

以前はms-pythonのバージョンにかなり依存していたのですが、

Autodeskさんがかなり頑張ってくれてから安定していたのですが・・・。

 

再インストールするとイロイロと設定が消えてしまうので、

控えておくべきファイルリストみたいなのを作ると良いような

気のしますが・・・。(言い出しっぺがやるべき かな?)

 

メッセージ5/10

ChaosComb
Advisor
Advisor

@kandennti さん

 

 

ご連絡ありがとうございます.

 

確認させていただきたいのですが,ms-pythonはスクリプトの実行に必要だということですよね?

デバック時にも関係してくるのでしょうか...

(また,インタプリタに設定するPythonのパスは別途インストールしたものを設定するということであっていますでしょうか?)

お手数おかけしますが,よろしくお願いいたします.

 

 


0 件のいいね
メッセージ6/10

kandennti
Mentor
Mentor

@ChaosComb さん

 

詳しい事は分かっていないのですが・・・

 

>ms-pythonはスクリプトの実行に必要だということですよね?

スクリプト/アドインを開発しない方(や、故意にvscodeでpythonを

利用していない方)は、基本的にms-pythonはインストールさていない為、

実行には不要なもののはずです。

逆に言えば、デバッグの為には必要となります。

 

>また,インタプリタに設定するPythonのパスは別途インストールしたものを~

ちょっと意味がわかっていないのですが、pythonの場合は基本的に

vscodeさえインストールされていれば、”編集” を押すことで全て

やってくれます。

1.png

最初に確認をお願いした3個のファイルを削除しても

再度 "編集" を押すとインストールフォルダの何処から

コピーされてきます。

 

何もかも自動でやってくれるため楽なのですが、

どんな仕組みになっているのか不明で、トラブルの際

どの様に対応して良いのか分からないのが正直な所です。

(結局、再インストールしか方法が分からないんです)

メッセージ7/10

ChaosComb
Advisor
Advisor

@kandennti さん

 

ご丁寧にありがとうございます.

自分が言っていたのは赤枠で囲った部分の事でした.

ここでインタープリター(?)を設定すると思うのですが,ここで設定すべきPython.exeは別途インストールしたものであっていますか...という趣旨でした.

 

スクリーンショット 2022-05-06 224346.png

また,Fusion360 の再インストール,VS codeのアンインストール,インストールを再度試してみましたが状況は変わらず,これまでと同様のエラーが発生する状況です.

完全お手上げ状態になってしまいましたが,もう一度ネットで情報を集めてみます.

 

また進展あればご報告させていただきます.


0 件のいいね
メッセージ8/10

kandennti
Mentor
Mentor
解決済み

@ChaosComb さん

 

画像をありがとうございます。同じエラーを再現出来ました。

恐らくデバッグの行い方が異なるような気がしてます。

今後、他の方が見るかも知れないので手順を記載しておきます。

(但し、pythonの場合です)

 

”ユーティリティ” - "スクリプトとアドイン" でダイアログを表示させます。

目的のスクリプトを選択した状態にし "編集" をクリック。

1.png

 

ちょっと間があってから、vscodeが起動します。

左側のサイドバーの "j実行とデバッグ" を選択し、上側の "Python:Attach" の左側の

緑の三角形をクリック。 (実はクリックするといきなり実行が始まってしまいます。)

2.png

 

恐らく右側の上の方(エディタ側)にツールバーのようなもの(名称不明)が表示されるので、

こちらを操作することになります。

3.png

 

簡単に説明すると、

4.png

青:次のブレークポイントまで実行

緑:再実行

赤:デバッグの終了

 

”赤” 部分を押すとこのツールバーのようなものが消えますが、

スクリプト等の実行は終了しません。”ブレークポイントで止める”等の

デバッグ操作を終了するだけです。

又、Fusion360APIでは、同時に複数のスクリプト/アドインをデバッグ

する事が出来ません。その為、他のスクリプト/アドインのデバッグを

行いたくなった場合は、こちらのボタンでデバッグを終了してから、

他のスクリプト/アドインの "編集" を行う必要があります。

 

念の為ですが、 "編集" ではなく "デバッグ" で行っても同様の手順です。

5.png

 

詳しくは、オンラインドキュメントに記載されています。

https://help.autodesk.com/view/fusion360/ENU/?guid=GUID-743C88FB-CA3F-44B0-B0B9-FCC378D0D782 

こちらでは、vscodeのメニューからデバッグを実行する説明に

なっていますが、サイドバーからの方法の方が楽なような気がしています。

メッセージ9/10

ChaosComb
Advisor
Advisor

@kandennti さん

 

夜遅くまでご対応いただき本当にありがとうございます.

 

!!!

そんな違いがあったとは!!!!

お察しの通り,これまで右上の矢印ボタンのところでデバックをしていました!

 

ChaosComb_0-1651849847127.png

 

ご教授いただいた方法でやってみると見事にプログラムが動きました!

いつもご丁寧に対応していただき誠にありがとうございます。

 

これで残りのGW中にスクリプトが作れます!

 


メッセージ10/10

kandennti
Mentor
Mentor

@ChaosComb さん

 

>これまで右上の矢印ボタンのところでデバックをしていました!

Fusion360API以外のものでデバッグする場合は、そちらを利用するのかも

しれません。

その部分で行った場合は、Fusion360自体が動くのではなく、文法的に

エラーが無いかどうかを高速にチェック出来た時期もあったのですが、

今は駄目っぽいですね。

(元々"adsk.core等が有りません"のようなエラーをターミナルに出力されたり

していたのですが、動作が変わったようです)