Python 2.x и Python 3.x с пакетом Beautiful Soup на Mac OSX 10.9.5

Вопрос или проблема

Я довольно новичок в Python и столкнулся с проблемами при установке Beautiful Soup. Я использую Mac OSX 10.9.5.

Я установил и использовал Python 3.4 летом и установил Beautiful Soup 4 для проекта. Эта установка прошла успешно. Сейчас мне нужно использовать Python 2.7 с Beautiful Soup. Подозревая, что мне потребуется установить другую версию Beautiful Soup, я запустил мой Python код, чтобы быть уверенным. Когда мой код пытается импортировать bs4, я получаю ошибку. Вызов и ошибка:

from bs4 import BeautifulSoup
ImportError: No module named bs4

Однако, когда я пытаюсь установить Beautiful Soup из консоли в PyCharm, где я использую Python 2.7, установка терпит неудачу:

pip install beautifulsoup4
Requirement already satisfied

Я также попытался установить из нового окна терминала, открытого из папки Python 2.7, в надежде, что установка будет сосредоточена там. Тот же результат:

MacBook-Pro-i7:Python 2.7 InnoVition$ pip install beautifulsoup4
Requirement already satisfied (use --upgrade to upgrade): beautifulsoup4 in /Applications/anaconda/lib/python3.4/site-packages

Есть ли какой-то способ временно “скрыть” установку bs4, связанную с Python 3.4, чтобы установка для Python 2.7 могла быть выполнена? Любые другие рекомендации?

Если вы знаете, где находится site-packages для Python 2.7, вы могли бы установить переменную, как:

export PYTHONPATH=/my-path-to/python2.7/site-packages:$PYTHONPATH

Возможно, вы также могли бы попробовать пакет virtualenv, чтобы иметь разные версии Python, работающие действительно легко.

Если вы все же хотите запускать beautifulsoup в python2.7, вам нужно будет установить bs3 вместо bs4. bs3 разработан для среды python2.7.

Ответ или решение

Похоже, вы столкнулись с вопросом совместимости разных версий Python и пакета Beautiful Soup на вашей операционной системе Mac OSX 10.9.5. Давайте разберем, как можно справиться с этой проблемой.

Проблема:

Вы установили Beautiful Soup 4 для Python 3.4, и он работает корректно. Теперь вам нужно использовать Beautiful Soup с Python 2.7, но возникает ошибка ImportError: No module named bs4. При попытке установить Beautiful Soup через pip, вы получаете сообщение, что "требование уже удовлетворено", что указывает на установку в другом окружении Python.

Решение:

1. Понимание структуры окружений

У вас установлены обе версии Python (2.7 и 3.4), и они могут использовать разные пути для пакетов. Убедитесь, что pip указывает на правильную версию Python для установки пакетов.

2. Установка в виртуальном окружении

Использование virtualenv поможет разделить окружения для разных проектов и версий Python, что устранит конфликт между различными пакетами. Следуйте этим шагам:

  1. Установка Virtualenv:

    • Убедитесь, что у вас установлен pip для Python 2.7. Выполните команду:
      python2.7 -m pip install --user virtualenv
  2. Создание виртуального окружения:

    • Создайте виртуальное окружение для вашего проекта:
      python2.7 -m virtualenv myprojectenv
  3. Активация окружения:

    • Активируйте его:
      source myprojectenv/bin/activate
  4. Установка Beautiful Soup 4:

    • Теперь, находясь в активированном окружении, установите Beautiful Soup:
      pip install beautifulsoup4
    • Эта установка будет связана только с вашим виртуальным окружением и не затронет установку для Python 3.4.

3. Решение альтернативное: настройка PYTHONPATH

Если вы хотите установить пакет непосредственно в системное окружение Python 2.7, вы можете определить переменную окружения PYTHONPATH, указав путь до пакетов для Python 2.7 (если он отличается). Однако, использование виртуальных окружений является более рекомендуемым и безопасным методом.

4. Проверка и настройка

После выполнения вышеперечисленных шагов, повторите импорт в вашем скрипте для Python 2.7. Убедитесь, что PyCharm настроен на использование правильного интерпретатора (Python 2.7) в настройках проекта.

Заключение

Использование виртуальных окружений позволит вам гибко управлять зависимостями и версиями Python, избегая конфликтов между ними. Это подходящий инструмент для современной разработки, особенно на Mac OSX или другой Unix-подобной системе. Надеюсь, эти шаги помогут решить вашу проблему.

Ключевые слова для SEO: установка Beautiful Soup на Mac OSX, Beautiful Soup для Python 2.7, разделение окружений Python, использование virtualenv на Mac.

Оцените материал
Добавить комментарий

Капча загружается...