Вопрос по python-3.x, python, beautifulsoup – Только что установлен BeautifulSoup Python 3.3.0

3

Кто-нибудь знает, как это исправить. Я использую Mac OS 10.8.2

>>> from bs4 import BeautifulSoup
Traceback (most recent call last):
  File "", line 1, in 
  File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/bs4/__init__.py", line 359
    print soup.prettify()
             ^
SyntaxError: invalid syntax
попробуйте запустить оператор импорта из терминала, что вы получаете? kennysong
Я установил его и могу подтвердить, что эта проблема не существует в последней версии BeautifulSoup, поэтому вы по ошибке установили старую версию Python 2 only. Lennart Regebro
Как вы установили bs4? Учитывая, что вы, очевидно, нене знаю чтоpip есть ямне интересно, если вы получили это каким-то неправильным образом ... abarnert

Ваш Ответ

3   ответа
6

В Python 3print это функция; так должно быть:

print(soup.prettify())

устанавливатьbs4 правильно или используйте более новую версию, если это ошибка.beautifulsoup4==4.1.3 отлично работает на Python 3.3.

@abarnert: комментирует мойответ без цели сообщите мне, а не ОП (см. стр.1). В OS X есть менеджеры пакетов, например, homebrew. jfs
Вы, вероятно, хотитеpip-3.3неpip (потому что последний будет устанавливать для 2.7). Возможно, у вас его еще нет, и в этом случае вам придетсяeasy_install-3.3 pip, Вы можете даже не иметьeasy_install пока для 3.3, в этом случае вам придется вручную загрузить и установитьdistribute, (Для стокового Mac 2.7 у вас точно естьeasy_install но нетpip, Установкаpip должно быть первым, что вы делаете.) abarnert
@abarnert: вам, вероятно, следует адресовать свой комментарий Яну. Я использую толькоpip установить внутри virtualenv. Я должен'Я упоминал об этом. Каждый virtualenv автоматически устанавливает дистрибутив (easy_install), pip. Это самый простой способ их установки. Ты не долженне используйте easy_install, если в этом нет необходимости (если pip может 'т пакет), потому что естьнет удаления так что вы можете't удалить, обновить пакеты, установленные с easy_install должным образом. Также практическое правило: если вам нужноsudo перед pip, чем использовать системный менеджер пакетов вместо того, чтобы не ломать вещи. jfs
@abarnert: делаетbrew-установленыpip команда требует?sudo jfs
2

https://github.com/il-vladislav/BeautifulSoup4 Просто скопируйте это в каталог Lib. Это исправленная версия для Python 3.3

0

Beautiful Soup лицензируется по лицензии MIT, так что вы также можете скачать tarball, поместить каталог bs4 / практически в любое приложение Python (или в путь к вашей библиотеке) и сразу же начать его использовать. Если вы хотите сделать это в Python 3, вам нужно будет вручную преобразовать код, используя 2to3.

http://www.crummy.com/software/BeautifulSoup/

используйте python ../python33/Tools/Script/2to3.py -w beautifulsoup4-4.3.2 все будет в порядке

Похожие вопросы