VCをインストールしてもmsvcr140.dllが見つからない
Warning! その場しのぎのやり方 読み込むDLLのバージョンを下げます。
- テキストエディタで読み込む
Lib\distutils\cygwinccompiler.py
function get_msvcr()
にて使用するDLL名を返すので編集します。C:\Windows\System32
で検索するmsvcr*.dll
4. 例えば['msvcr140']
を['msvcr120']
に変更しVS2013のDLLを代わりに用いる。['msvcr140']
を['ucrtbase']
に変える事が正しい。
distutilsは結構いい加減な作りでコード見ればVS2013の分岐が無いことに気付くはず。 Python3.6のコードをいじっていた時はMSC1900までしか対応しておらず例外を起こしていたのを思い出した。 これは互換性を保ちながらDLLのバージョンを上げている事によると思われるので古いDLLにない新機能を使っていたら落ちる。
メモ代わり