2015-02-22 2 views
3

Я пытаюсь импортировать beautifulsoup в python3. У меня есть эта строка:импорт красивый суп в python3

from bs4 import BeautifulSoup 

Он говорит:

from bs4 import BeautifulSoup 
File "/usr/local/lib/python2.7/dist-packages/bs4/__init__.py", line 175 
except Exception, e: 
       ^
SyntaxError: invalid syntax 

я вижу, что он все еще пытается использовать пакет python2.7. Я установил beautifulsoup для python3 с помощью pip3, и при проверке я обнаружил, что пакет находится в/usr/lib/python3/dist-packages /.
Также при проверке sys.path я обнаружил, что этот путь присутствует. Тем не менее я не понимаю, почему он пытается использовать старый пакет,

+4

Предположительно в 'sys.path' старый путь 2,7 до того, как новый py4 один - довольно проблема! Может быть, плохая 'PYTHONPATH' в среде вашей ОС? Пожалуйста, покажите нам свой 'sys.path' и этот env var, чтобы помочь нам помочь вам. 'pip3 install beautifulsoup4' исправил все для меня, но тогда у меня нет такого« перекрестного заражения », спасибо ...! -) –

+0

Да. Старый путь 2.7, как указано вами. – user3286661

ответ

3

Если python3 исполняет команду python2.7 в sys.path, значит, это не значит, что установка Python 3 нарушена.

Здесь нет sys.path на моей машине:

['', 
'/usr/lib/python3.4', 
'/usr/lib/python3.4/plat-x86_64-linux-gnu', 
'/usr/lib/python3.4/lib-dynload', 
'/home/me/.local/lib/python3.4/site-packages', 
'/usr/local/lib/python3.4/dist-packages', 
'/usr/lib/python3/dist-packages'] 

Примечание: нет python2.7 каталогов.

Убедитесь PYTHONPATH не установлена, и нет бродячих .pth файлов в списке по умолчанию (установка в зависимости от выше) в Python 3.4 каталогов, в которых упоминаются python2.7 каталогов и PYTHONSTARTUP file или sitecustomize, usercustomize модулей не коррумпированы sys.path.

1

Возможно, использование virtualenv может временно решить вашу проблему. Или, может быть, попробуйте pip uninstall beautifulsoup4 Таким образом, вы остаетесь с установленной версией pip3.

Смежные вопросы