«Ошибка синтаксиса: недопустимый синтаксис» при установке Setuptools

#python #pip #setuptools

#python #пип #setuptools

Вопрос:

Мне нужно было установить Setuptools для проекта, который я делал, и мне пришлось загружать Setuptools через tar-файл (не спрашивайте), но когда я запустил команду, которую мне нужно было использовать для ее установки:

 C:UsersmynameDownloadssetuptools-51.1.1>py -2 setup.py install
 

Это закончилось ошибкой синтаксиса:

     Traceback (most recent call last):
      File "setup.py", line 7, in <module>
        import setuptools
      File "C:UsersmynameDownloadssetuptools-51.1.1setuptools__init__.py", line 16, in <module>
        import setuptools.version
      File "C:UsersmynameDownloadssetuptools-51.1.1setuptoolsversion.py", line 1, in <module>
        import pkg_resources
      File "C:UsersmynameDownloadssetuptools-51.1.1pkg_resources__init__.py", line 1365
        raise SyntaxError(e) from e
                                ^
    SyntaxError: invalid syntax
 

Я использую Python 2.7.

Почему он показывает ошибку, и как я могу это исправить?

Редактировать:

Когда я заглянул в __init__.py файл, я обнаружил, что там есть нечто, называемое «недопустимым маркером».:

     try:
        marker = packaging.markers.Marker(text)
        return marker.evaluate()
    except packaging.markers.InvalidMarker as e:
        raise SyntaxError(e) from e
 

Комментарии:

1. Это код python3. Почему вы должны устанавливать из файла .tar, а не через pip?

2. Не используйте Python 2.7

3. @SuperStormer Если я использую pip, я должен использовать py -2 pip install setuptools , потому что я установил python 3 до python 2. Когда я запускаю эту команду, она выдает следующую ошибку: «C:Python27python.exe : не удается открыть файл ‘pip’: [Ошибка 2] Нет такого файла или каталога»

4. py -2 -m pip install setuptools

5. @zabop Проект, для которого я использую setuptools, имеет синтаксис python 2

Ответ №1:

Последней версией setuptools для поддержки Python 2.7 была 44.1.1 (январь 2020). Смотрите Список изменений.

Обновите свою версию Python, чтобы использовать setuptools 51.1.1.