Почему youtube-dl.exe запускается из большинства каталогов, но не из c: windows system32, где он выдает ошибку Python о кодеке?
C:>dir c:windowssystem32youtube-dl.exe
Volume in drive C has no label.
Volume Serial Number is 4645-5DCE
Directory of c:windowssystem32
31/03/2021 15:31 8,158,448 youtube-dl.exe
1 File(s) 8,158,448 bytes
0 Dir(s) 17,926,369,280 bytes free
C:>dir c:abcdefgyoutube-dl.exe
Volume in drive C has no label.
Volume Serial Number is 4645-5DCE
Directory of c:abcdefg
31/03/2021 15:31 8,158,448 youtube-dl.exe
1 File(s) 8,158,448 bytes
0 Dir(s) 17,926,369,280 bytes free
C:>dir c:abcdefg
Volume in drive C has no label.
Volume Serial Number is 4645-5DCE
Directory of c:abcdefg
25/04/2021 03:30 <DIR> .
25/04/2021 03:30 <DIR> ..
31/03/2021 15:31 8,158,448 youtube-dl.exe
1 File(s) 8,158,448 bytes
2 Dir(s) 17,926,369,280 bytes free
C:>c:windowssystem32youtube-dl.exe
Fatal Python error: Py_Initialize: unable to load the file system codec
ImportError: No module named 'encodings'
Current thread 0x00005e6c (most recent call first):
C:>c:abcdefgyoutube-dl.exe
Usage: youtube-dl.exe [OPTIONS] URL [URL...]
youtube-dl.exe: error: You must provide at least one URL.
Type youtube-dl --help to see a list of all options.
C:>
Я заметил, что он запускается из c: windows, например c:windowsyoutube-dl.exe
работает
Добавлен
Я подумал, может, это каталог.
В качестве теста я просто попытался создать пустой каталог c:qwerty
и создал все подкаталоги одного уровня, которые находятся в c: windows system32
C:qwerty>
C:qwerty>for /f %f in ('dir c:windowssystem32 /ad/b') do @mkdir "%f"
C:qwerty>
C:qwerty>
C:qwerty>dir /ad | head -n 10
Volume in drive C has no label.
Volume Serial Number is 4645-5DCE
Directory of C:qwerty
25/04/2021 03:38 <DIR> .
25/04/2021 03:38 <DIR> ..
25/04/2021 03:38 <DIR> 0401
25/04/2021 03:38 <DIR> 0404
25/04/2021 03:38 <DIR> 0405
C:qwerty>dir /ad | tail -n 10
25/04/2021 03:38 <DIR> WinBioDatabase
25/04/2021 03:38 <DIR> WinBioPlugIns
25/04/2021 03:38 <DIR> WindowsPowerShell
25/04/2021 03:38 <DIR> winevt
25/04/2021 03:38 <DIR> winrm
25/04/2021 03:38 <DIR> zh-CN
25/04/2021 03:38 <DIR> zh-HK
25/04/2021 03:38 <DIR> zh-TW
0 File(s) 0 bytes
142 Dir(s) 17,915,240,448 bytes free
C:qwerty>
но это не сработало
C:qwerty>.youtube-dl.exe
Usage: youtube-dl.exe [OPTIONS] URL [URL...]
youtube-dl.exe: error: You must provide at least one URL.
Type youtube-dl --help to see a list of all options.
C:qwerty>
В этой ссылке упоминается несколько идей, но, похоже, ни одна из них здесь не применима.
https://stackoverflow.com/questions/5694706/py-initialize-fails-unable-to-load-the-file-system-codec
например, он говорит, что нужно посмотреть на переменные среды PYTHONPATH и PYTHONHOME, ну, даже если отложить в сторону то, что они делают, они пусты. Так что это не может быть причиной.
В этой ссылке говорится о нескольких установленных версиях python, и, возможно, я знаю, но я посмотрел в c: windows system32 увидел python27.dll. Я попытался скопировать его в c: qwerty, чтобы узнать, вызывает ли это c: qwerty youtube- dl.exe, чтобы не работал. Но на это не повлияло. Итак, c: qwerty youtube-dl.exe все еще работал.
Так что причина до сих пор неясна