Могу ли я установить пакеты Python 2 в Python 3, используя pip? - PullRequest
0 голосов
/ 04 декабря 2018

На моей установке Python 3.6 я только что попробовал

pip install nipet

, но получаю следующее:

Complete output from command python setup.py egg_info:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\me\AppData\Local\Temp\pip-install-eef9zqvc\nipet\setup.py", line 64
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('e> the current operating system is not supported.')?

Это, скорее всего, связано с nipet нацеливанием на Python 2.x.

Я успешно попробовал 2to3 в некоторых частях этого пакета и заметил, что все несовместимости сводятся к операторам print.Тем не менее, поскольку это setup.py, что не удается, я даже не могу установить все файлы в их правильном расположении для запуска 2to3.

Существует ли какая-нибудь оболочка pip для 2to3, которая быпозвольте мне установить пакет Python 2.x без особых ручных усилий?

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Несмотря на то, что пишет @ Jérôme, это верно не для всех компонентов.Для полноты картины я хотел бы упомянуть use_2to3 параметр setuptools, который выполняет большинство из того, что я хотел.(Хотя, кажется, они не касаются setup.py).

Вот еще немного информации:

Setuptools позволяет вызывать код 2to3 как частьпроцесс сборки, установив для ключевого слова параметр use_2to3 значение True, но проект Setuptools настоятельно рекомендует вместо этого разработать унифицированную кодовую базу с использованием шестой, будущей или другой библиотеки совместимости.

https://setuptools.readthedocs.io/en/latest/python3.html

0 голосов
/ 04 декабря 2018

TL;ДР: Нет, вы не можете.


nipet не совместим с Python 3.Как сказал @deceze в комментарии, вы должны это исправить, прежде чем пытаться установить его.pip не может выполнить эту работу.

Извлеките код и сделайте его Python 3 (это может включать 2to3 и, возможно, ручные изменения).Затем повторите попытку установки.Если вы довольны тем, что получили, вы можете отправить свой порт Python 3. сопровождающему.

Кроме того, необходимо исправить nipet, указав, что это только Python 2, чтобы он отображался как Python 2 только наPyPI и pip3 даже не пытается установить, если.Вы должны открыть проблему в трекере ошибок, чтобы попросить сопровождающего исправить это.Или даже отправьте pull-запрос, добавив соответствующие классификаторы в setup.py, если вам это удобно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...