Я пытаюсь настроить AOSP VTS test в Windows . При установке существует файл pip_requirements.txt, который пытается загрузить пакет enum , который позже будет установлен во время выполнения теста. Во время выполнения контрольного примера возникает проблема, связанная с перечислением, которая приводит к сбою vts-run. Ошибка, возникающая во время выполнения теста, показана ниже.
..\AppData\Local\Temp\pip-install-zp3vtjdn\enum\setup.py", line 24, in <module>
version = main_module.__version__
AttributeError: module 'enum' has no attribute '__version__'
Ссылка на этапы выполнения теста VTS: https://codelabs.developers.google.com/codelabs/android-vts/index.html?index=..%2F..index#1
загрузка pip -d% VTS_PYPI_PATH% -r pip_requirements.txt
ПРИМЕЧАНИЕ. Даже если файл pip_requirements.txt игнорируется, похоже, что приложение vts-tradefed собирается установить enum и несколько других модулей, которые все еще будут вызывать эту проблему. Приложение ссылается на набор файлов .jar, чей исходный код подтверждает это. Также, чтобы проверить, я попытался запустить vts без загрузки модулей, используя описанные выше шаги. Но все равно получил ту же ошибку, связанную с enum.
Свойство файла enum .__ __ показано ниже:
>python
Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import enum
>>> print(enum.__file__)
C:\Python37\lib\enum.py
После некоторого анализа я обнаружил, что пакет enum загружается пипомзагружает следующее "https://pypi.org/project/enum/". В этом пакете также есть файл enum.py, который, вероятно, является причиной возникновения ошибки атрибута:
AttributeError: module 'enum' has no attribute '__version__'
Ссылка на страницу PyPI упоминает, что:
Заменено стандартной библиотекой Python.
В стандартной библиотеке Python 3 теперь есть реализация enum (также доступная для более старых версий Python в качестве стороннего дистрибутива enum34), которая заменяет эту библиотеку.
Насколько я понимаю: поскольку пакет перечисления Python3 заменяет пакет перечисления PyPI, следует использовать пакет перечисления Python3 вместо пакета перечисления PyPI?
Правильно ли мое понимание? Если дато, как этого добиться? т.е. когда pip пытается загрузить / установить пакет enum, как перенаправить его на использование пакета enum Python3 и не использоватьпакет enum от PyPI?
Спасибо заранее !!