2016-11-23 3 views
1

Я работаю в системе, где у меня нет прав администратора. У меня есть локальная среда, где я установил python3, pip3 и bs4. Похоже, что в системе по умолчанию python2.6 также установлен пакет beautifulsoup. В результате мой код Python пытается подобрать bs4 и в конечном итоге поднять python2.6.Beautifulsoup4 берет системный по умолчанию python2.6, а не мой локальный python3

Мой код:

try: 
    from bs4 import BeautifulSoup 
except ImportError as err: 
    print("BeautifulSoup is not installed. To install it use apt-get install python-bs4 or visit https://www.crummy.com/software/BeautifulSoup/ for more information. \n OS error: {0}".format(err)) 
    raise 

Я использую пип установить BS4 с этой командой:

pip3 install beautifulsoup4 
Requirement already satisfied: beautifulsoup4 in /my-local-path/lib/python3.3/site-packages 

Есть ли способ, чтобы заставить его забрать python3 один?

+0

Вы только что установили bs4, запустив 'apt-get install python-bs4'? – khajvah

+1

Установите 'virtualenv' http://docs.python-guide.org/en/latest/dev/virtualenvs/ Это изолирует всю системную аномалию пакета python. – mootmoot

+0

Что вы не можете использовать virtualenv? – styvane

ответ

3

Python 3 не может «забрать» пакет python 2. Вы не установили правильный bs4. Для ubuntu имя пакета: python3-bs4.

Также ваше сообщение об ошибке в except блоке вводит в заблуждение, поскольку это указывает на python2 BS4, в то время как код является питон 3.

Если вы не можете установить новый пакет в системе, создать virtual-environment и установите свои зависимости по пипсу.

+0

благодарит за сообщение. Я использую: '$ pip3 install beautifulsoup4 Требование уже выполнено: beautifulsoup4 in/my-local-path/lib/python3.3/site-packages' И похоже, что он работает нормально. Поэтому я думаю, что у меня уже есть python3 beautifoulsoup. –

+0

Когда я запускаю свой код, хотя я получаю эту ошибку: 'Traceback (последний последний вызов): Файл« my-local-path/Desktop/ROOT-Primer/scripts/Build_html.py », строка 102, в if child.name == 'script': Файл "/usr/lib/python2.6/site-packages/bs4/element.py", строка 667, в __getattr__ self .__ class __.__ name__, attr)) AttributeError: объект 'NavigableString' не имеет атрибута 'name' ' –

+1

Как вы используете свой код? – khajvah

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

  • Нет связанных вопросов^_^