Требования устанавливаются, как и ожидалось, в бродячей среде, однако я напоминаю, что она также будет работать локально на моей машине. К сожалению, я не уверен, какие изменения привели к этой ошибке, возможно, это было результатом извлечения.
Проблема связана с пакетом, который вы пытаетесь установить, и конфигурация вашей среды. Я предполагаю, что пакет обновился в один момент и сломался, потому что они добавили эмодзи в свой readme или что-то в этом роде: если вы немного посмотрите на сообщение об ошибке, вы увидите, что есть проблема при чтении материала в long_description
, проверьте в настройке пакета .py и вы можете найти проблему в самом начале:
with open('README.md') as readme_file:
long_description = readme_file.read()
Проблема здесь в том, что когда вы open
файл без указания режима, это будет "текст", так что python автоматически декодирует байты в str, что круто, за исключением того, что endoding , который он использует для такого декодирования, является значением по умолчанию для системы (обнаруживается путем вызова locale.getpreferredencoding(False)
), что часто не является желаемым .
Ваша среда Vagrant и машина разработчика, вероятно, имеют кодировку по умолчанию UTF8 (как в большинстве систем unix в наши дни), в то время как ваша локальная коробка windows не имеет и использует CP1252 по умолчанию, который взрывается. К сожалению, я не большой пользователь windows (для разработчиков), поэтому я понятия не имею, как изменить «кодировку по умолчанию», что может даже оказаться невозможным, учитывая то, что дает быстрый поиск SO.
Я бы предложил:
- попросить автора пакета исправить их setup.py, чтобы явно указать
encoding
при открытии файла - , пытаясь узнать больше о
getpreferredencoding
внутренние решения, и возможно ли переопределить предпочтительное кодирование через среду в Windows (очевидно, возможно / легко переопределить кодировку для стандартного потока, но chcp
/ set PYTHONIOENCODING
, очевидно, не ничего не делать для обычного open
) - , работающего в подсистеме Windows для Linux, что, вероятно, будет работать из коробки
PS: Я позволил себе обновить теги вашего поста как django, pip и eggs действительно не имеют никакого отношения к актуальной проблеме