Не удается установить фолиум на Linux Mint с Python 2.7 из-за ошибки с Branca - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь установить folium на мою Linux машину, которая имеет Python2 .7, но я продолжаю получать эту ошибку для пакета зависимостей branca (копия, вставленная из терминала, я получаю эту ошибку, если я пытаюсь установить folium как ну, я сделал --no-cache-dir, чтобы вы могли видеть, что ошибка такая же, даже если я не использую один пункт, который теперь кэшируется на моей машине):

user@linux_mint ~/Desktop/map $ pip install branca --no-cache-dir
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/__init__.py:83: RequestsDependencyWarning: Old version of cryptography ([1, 2, 3]) may cause slowdown.
  warnings.warn(warning, RequestsDependencyWarning)
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Defaulting to user installation because normal site-packages is not writeable
Collecting branca
  Downloading branca-0.4.0.tar.gz (41 kB)
     |████████████████████████████████| 41 kB 263 kB/s 
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-gK2ddq/branca/setup.py'"'"'; __file__='"'"'/tmp/pip-install-gK2ddq/branca/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-gK2ddq/branca/pip-egg-info
         cwd: /tmp/pip-install-gK2ddq/branca/
    Complete output (6 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-gK2ddq/branca/setup.py", line 41
        print(error, file=sys.stderr)  # noqa
                         ^
    SyntaxError: invalid syntax
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

В чем здесь проблема? Это потому, что я не могу использовать branca с Python 2.7 и мне нужно перейти на 3.x, если я хочу использовать фолиум?

Или есть какой-то способ еще использовать фолиум с Python2. 7?

Я использую 2,7 Python на своей машине, поэтому я не хочу обновляться, если могу этого избежать. Я - любитель, и это небольшой побочный проект, поэтому, если я могу избежать 3.xa немного дольше, я бы хотел (со всем уважением, пожалуйста, не говорите мне, почему это плохо, если это не имеет отношения к получению фолиума собираюсь ... это не мой вопрос, и я знаю, что Python 2.7 становится историей ... мой вопрос на самом деле состоит в том, как мне установить бранку и фолиум на машине Python 2.7 с минимальными усилиями).

Я просто хочу сделать несколько карт:)

Спасибо.

РЕДАКТИРОВАТЬ:

user@linux_mint ~/Desktop/map $ python -V
Python 2.7.12
user@linux_mint ~/Desktop/map $ pip -V
pip 20.0.2 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)

1 Ответ

1 голос
/ 11 апреля 2020

Репозиторий branca на github включает commit с именем drop py2k, который удаляет код, который поддерживает Python2 из приложения. Среди удаленного кода был этот ImportError:

if sys.version_info < (3, 0):
    raise ImportError(
        """You are running branca {} on Python 2
    branca 0.4 and above are no longer compatible with Python 2, but somehow
    you got this version anyway. Make sure you have pip >= 9.0 to avoid this
    kind of issue, as well as setuptools >= 24.2:
     $ pip install pip setuptools --upgrade
    Your choices:
    - Upgrade to Python 3.
    - Install an older version of branca:
     $ pip install 'branca<0.4.0'
    """.format(__version__))  # noqa

Поэтому вам нужно указать более раннюю версию при установке, например:

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