2020-11-17 解決
詳細は続きを参照
で書いた通りだが、
「python microsoft-store win32api win32api win32api」でググると以下のページが見つかった。
また、
念のため、
不思議なことに、
ライブラリの検索パスではなく、バイナリの実効パスの方が問題なのかもと思い
「python microsoft-store win32api ImportError: DLL load failed」
3.7 がダメな子なんじゃないか?と言う指摘も見られた。
「python3.7 win32api ImportError: DLL load failed」でググると、
しかしこれも効果がなかった。
解決の糸口が見つからん。
>>> 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」でググると以下のページが見つかった。
- Microsoft Community / 2019-04-18: how do i fix “No module named win32api” on python2.7 ?
- stackoverflow / 2014-01-20: ImportError: no module named 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 がダメな子なんじゃないか?と言う指摘も見られた。
- blo9 / 2019-11-26: Python3.7だとwin32apiがimportできない?
「python3.7 win32api ImportError: DLL load failed」でググると、
- stackoverflow / 2019-10-29: How to fix 'ImportError: DLL load failed while importing win32api'
pip install --ignore-installed pywin32した上で
CD %USERPROFILE%\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\Scripts pywin32_postinstall.py -installすると良いとかなんとか。
しかしこれも効果がなかった。
解決の糸口が見つからん。
- 実験記録 No.02 / 2019-10-03: Pythonでwin32apiをインポートできない場合の対処法
タグ
コメントをかく