Возникли проблемы с копированием папки среды 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команда для правильной работы. Однако, если нет, см. страницу документа для получения дополнительных опций и подробностей.

Другие вопросы по тегам