Возникли проблемы с копированием папки среды conda, содержащей файлы одного слова (разный регистр) с символическими ссылками в подкаталоге terminfo
Я использую WSL1.
Я пытаюсь сохранить копию моей папки ~./miniconda/envs на рабочий стол, используя .
Я продолжаю получать ошибки, такие как
cp: cannot create regular file './envs/py_env/share/terminfo/h/hp2621a': File exists
Проблема в том, что есть 2 файла с одинаковым именем, но разным регистром. Например, и .
Пример:
Исходная папка: , ,
С использованиемcp
Я получил:
- Новая папка:
hp2621A
,etc
- Отсутствующий:
hp2621a
Некоторые из подкаталогов
py_env/share
иpy_env/lib
тоже похожая проблема(a
вроде конфликтует)Мне удалось решить некоторые из этих ошибок, изменив имя каталога с
A
кA_1
.
1 ответ
Судя по комментариям, вы уже нашли это - есть хорошая документация о том, почему это происходит и как с этим справиться.
По умолчанию папки на дисках Windows NTFS нечувствительны к регистру;A
иa
это одно и то же имя файла. Однако в течение некоторого времени (с 2018 года) Windows имеет возможность указывать регистрозависимость для каждого каталога (и наследуемого). Для этого:
Каталог, в который вы поместите эти файлы, должен быть пустым для начала. Либо удалите все из существующего каталога, либо создайте новый пустой каталог на рабочем столе. Предположим, что имя этого каталога
$env:USERPROFILE\Desktop\env
.Из PowerShell запустите:
fsutil.exe file setCaseSensitiveInfo $env:USERPROFILE\Desktop\env enable
Это должно быть все, что нужно для вашегоcp
команда для правильной работы. Однако, если нет, см. страницу документа для получения дополнительных опций и подробностей.