hack のためのネタ帳, etc,,,

未解決案件
2020-11-17 解決
詳細は続きを参照

状況

で書いた通りだが、
>>> import win32api
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: DLL load failed: 指定されたモジュールが見つかりません。
のように win32api が import 出来ない。

python microsoft-store win32api win32api win32api」でググると以下のページが見つかった。
pip install pypiwin32
は効果はなかった。
また、
  • %USERPROFILE%\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\pypiwin32-223.dist-info\RECORD
を見る限り
pypiwin32-223.dist-info/DESCRIPTION.rst,sha256=OCTuuN6LcWulhHS3d5rfjdsQtW22n7HENFRh6jC6ego,10
pypiwin32-223.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
pypiwin32-223.dist-info/METADATA,sha256=WpQiB_cxRVmQKYWaLYgP3RI3__0TNRrKzDN7Sy7zhjI,236
pypiwin32-223.dist-info/RECORD,,
pypiwin32-223.dist-info/WHEEL,sha256=Vlaj2XNMTTJ893zWX-JvKeZUIs7q5E7d7Gise2Vouzc,97
pypiwin32-223.dist-info/metadata.json,sha256=zmA71q_6edZ6UYXFr57RQ6OqKa1tJagdq-DtBofdgas,321
pypiwin32-223.dist-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
のような状態なので、過去はどうだったか知らないが、現時点ではこのパッケージに意味のあるようには見えなかった。

pip install pywin32
については、既に入っていた。
念のため、
CD %USERPROFILE%\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37
python Scripts/pywin32_postinstall.py -install
も試してみたが、こちらは、
>python Scripts/pywin32_postinstall.py -install
Parsed arguments are: Namespace(destination='C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.7_3.7.1776.0_x64__qbz5n2kfra8p0\\Lib\\site-packages', install=True, quiet=False, remove=False, silent=False, wait=None)
Scripts/pywin32_postinstall.py:164: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
Traceback (most recent call last):
  File "Scripts/pywin32_postinstall.py", line 633, in <module>
    install(args.destination)
  File "Scripts/pywin32_postinstall.py", line 334, in install
    LoadSystemModule(lib_dir, "pywintypes")
  File "Scripts/pywin32_postinstall.py", line 174, in LoadSystemModule
    mod = imp.load_dynamic(modname, filename)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.1776.0_x64__qbz5n2kfra8p0\lib\imp.py", line 342, in load_dynamic
    return _load(spec)
  File "<frozen importlib._bootstrap>", line 696, in _load
  File "<frozen importlib._bootstrap>", line 670, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 583, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 1043, in create_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: DLL load failed: 指定されたモジュールが見つかりません。
のようにエラーとなった。

不思議なことに、
>>> for i in sys.path: print(glob.glob(i + "/pywintypes*"))
...
[]
[]
[]
[]
[]
[]
[]
['C:\\Users\\kou\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python37\\site-packages\\win32\\lib\\pywintypes.py']
[]
[]
>>> for i in sys.path: print(glob.glob(i + "/win32api*"))
...
[]
[]
[]
[]
[]
[]
['C:\\Users\\kou\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python37\\site-packages\\win32\\win32api.pyd']
[]
[]
[]
のように
  • %USERPROFILE%\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\win32\lib\pywintypes.py
  • %USERPROFILE%\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\win32\win32api.pyd
にはそれらしいモジュールが存在していて、パスも通っている気がするのだが、なぜこれを読み込めないのかがさっぱり分からない。

ライブラリの検索パスではなく、バイナリの実効パスの方が問題なのかもと思い
for i in sys.path:
    os.environ["PATH"] = os.environ["PATH"] + ";" + i
なんてことも試してみたのだが、これも効果が見られなかった。

python microsoft-store win32api ImportError: DLL load failed
3.7 がダメな子なんじゃないか?と言う指摘も見られた。 しかし、Microsoft Store 版は 3.7 しか選択肢がないので、これはどうしようもない。

python3.7 win32api ImportError: DLL load failed」でググると、 が見つかった。
pip install --ignore-installed pywin32
した上で
CD %USERPROFILE%\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\Scripts
pywin32_postinstall.py -install
すると良いとかなんとか。
しかしこれも効果がなかった。

解決の糸口が見つからん。

参考

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

管理人/副管理人のみ編集できます