【Python】pyinstallerで作成したexeファイルが自作モジュールを読み込まない

実現したいこと

【今回のスコープ】
実行ファイル(以後aと呼ぶ)と変数を格納するファイル(以後bと呼ぶ)を作成する。

a:実行時、bから変数を読み込み、表示する。
b:変数が格納されている

bの変数を変更した際には、aで実行して表示する内容は変更後のものにする。

【スコープ外】
最終的には変数変更用ファイル(c)を作成して、すべての操作(変数変更、変数表示)をexeで実行できるようにする。

発生している問題・分からないこと

1. bの変数を変更後にaを実行したが、 表示内容が変更前のままである。
2. そもそもa実行時、bを読み込んでいない。

1の原因調査中に2が判明しました。

エラーメッセージ

error

1今回、エラーは発生しておりません。

該当のソースコード

read.py

1from status import data 2 3def showName1(): 4 print(data.name1) 5 6def main(): 7 showName1() 8 print('実行しました。') 9 10main()

data.py(b:変数設定ファイル)

1#変数設定用ファイル 2 3#名前を設定する 4name1 = '田中'

ファイル構造は以下の通りです。 workspace |--- read.py(a) | |--- status --- data.py(b)

試したこと・調べたこと

上記の詳細・結果

コマンドプロンプトを使用して実行した場合に、以下の観点を確認しています。

  1. 変数変更した場合:a実行時に変更後の値が表示されている
  2. b自体を消した場合:実行時に以下のエラーが発生

 > ImportError: cannot import name 'data' from 'status' (unknown location)

pyinstallerにてexe化し2.を確認したところ、エラーは発生せずに実行できてしまった。

補足

環境情報
Windows上で、anacondaとVSCodeを使用しています。

Windows 10
Python 3.11.5
anaconda 23.7.4

Python初学者のため、記載内容に不備があったら申し訳ないです。
よろしくお願いいたします。

コメントを投稿

0 コメント