Установите Beautiful Soup для использования с более высокой версией Python (чем стандартная версия Mac OS)

Установите Beautiful Soup для использования с более высокой версией Python (чем стандартная версия Mac OS)

Я только что переустановил python 2.7 на свой macbook pro (с ОС 10.13.6 High Sierra), так как я случайно удалил его, не понимая, что он нужен. У меня также загружен Python 3.6.8 на том же компьютере, и я работаю над «Automate the Boring Stuff», который требует Beautiful Soup для веб-скрапинга. Проблема в том, что мой терминал показывает python v2.7.15 и устанавливает BS4 где-то в этой библиотеке, но мне он нужен для python v3.6.8. Я обновил Setuptools до последней спецификации с помощью:

python -m pip install --upgrade pip setuptools wheel

Если я введу " python3" в командной строке, пытаясь перейти на версию 3.6.8, я получу:

Python 3.6.8 (v3.6.8:3c6b436a57, Dec 24 2018, 02:04:31) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

Все, что я печатаю после этого, приводит либо к синтаксической ошибке, либо если я печатаю:

python --version

он возвращает:

 Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    NameError: name 'python' is not defined

Когда я пытаюсь изменить каталог на папку «Загрузки», я получаю следующее:

>>> cd /Users/User/Downloads
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'cd' is not defined

Может кто подскажет в чем проблема с командной строкой? И более того как мне теперь запустить установщик pip из командной строки, чтобы установить / направить пакет BS4 в / в библиотеку python3.6.8?

Наверное, это действительно просто, но я здесь новичок...

Спасибо за вашу помощь.

решение1

Если я введу «python3» в командной строке, пытаясь перейти на версию 3.6.8, я получу:

Python 3.6.8 (v3.6.8:3c6b436a57, Dec 24 2018, 02:04:31) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

Все, что я печатаю после этого, приводит к синтаксической ошибке

Это потому, что команды, которые вы вводите, интерпретируютсяПитон, а не ваш терминал. Чтобы вернуться к обычному терминалу, введите quit().

как мне теперь запустить установщик pip из командной строки, чтобы установить / направить пакет BS4 в / в библиотеку python3.6.8

Похоже, что когда вы переустановили Python 2.7, его каталоги были добавлены в вашПУТЬ переменная окруженияперед каталогами Python 3. Когда вы входите pythonв свой терминал, он будет искать исполняемый файл, названный pythonпервым втекущий рабочий каталог, а затем через каждый из каталогов в вашемПУТЬ. Он выполняет первое совпадение и прекращает поиск.

Я бы рекомендовал вам отредактировать вашПУТЬпоэтому каталоги Python 3 находятся перед каталогами Python 2. Смотритередактирование переменной PATH на Mac.

Я работаю в Windows, и в моем PATH для Python 3 есть следующие два каталога:

C:\Users\Admin\AppData\Local\Programs\Python\Python37\
C:\Users\Admin\AppData\Local\Programs\Python\Python37\Scripts

Мне нужны оба, потому что pythonисполняемый файл находится в первом каталоге, а pipисполняемый файл — во втором.

Либо смените каталог в терминале на тот, где pipнаходится исполняемый файл: cd [...]\Python\Python37\Scripts.

Теперь вы можете установить Beautiful Soup 4 для Python 3:pip install beautifulsoup4

решение2

Спасибо, Гордон.

Это потому, что команды, которые вы вводите, интерпретируются Python, а не вашим терминалом. Чтобы вернуться к обычному терминалу, введите quit()

Да, это была очевидная ошибка с моей стороны. Спасибо, что поправили меня.

Вопрос сброса PATH для установки приоритета Python 3 над 2 потребует небольшого исследования; я нашел ссылку на пост немного запутанной, но это просто означает, что мне придется немного почитать.

Для меня сработало простое печатаниеpip3 install beautifulsoup4

Я нашел это, когда искал путь к файлу для Python 3.6 и случайно наткнулся на readme.txt, который находится в папке Application этой версии. А именно:

Сосуществование Python 3 и Python 2: Python.org Версии Python 3.6 и 2.7.x могут быть установлены в вашей системе и не будут конфликтовать. Имена команд для Python 3 содержат в себе цифру 3, python3 (или python3.6), idle3 (или idle3.6), pip3 (или pip3.6) и т. д. Имена команд Python 2.7 содержат цифру 2 или не содержат ее: python2 (или python2.7 или python), idle2 (или idle2.7 или idle) и т. д.

Вот так.

Но спасибо за помощь. Вы направили меня в правильном направлении, чтобы быть уверенным.

Связанный контент