2016-09-18 3 views
0

Мой вопрос здесь в два раза. Я пытаюсь установить BeautifulSoup, но перед ниже сообщение об ошибке:Ошибка при установке BeautifulSoup

Rahul-MacBook-Air:~ rahul$ sudo easy_install pip 
Password: 
Searching for pip 
Best match: pip 8.1.2 
Processing pip-8.1.2-py2.7.egg 
pip 8.1.2 is already the active version in easy-install.pth 
Installing pip script to /usr/local/bin 
Installing pip2.7 script to /usr/local/bin 
Installing pip2 script to /usr/local/bin 

Using /Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg 
Processing dependencies for pip 
Finished processing dependencies for pip 

Rahul-MacBook-Air:~ rahul$ pip install beautifulsoup4 
Collecting beautifulsoup4 
    Using cached beautifulsoup4-4.5.1-py2-none-any.whl 
Installing collected packages: beautifulsoup4 
Exception: 
Traceback (most recent call last): 
    File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/basecommand.py", line 215, in main 
    status = self.run(options, args) 
    File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/commands/install.py", line 317, in run 
    prefix=options.prefix_path, 
    File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/req/req_set.py", line 742, in install 
    **kwargs 
    File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/req/req_install.py", line 831, in install 
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix) 
    File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/req/req_install.py", line 1032, in move_wheel_files 
    isolated=self.isolated, 
    File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/wheel.py", line 346, in move_wheel_files 
    clobber(source, lib_dir, True) 
    File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/wheel.py", line 317, in clobber 
    ensure_dir(destdir) 
    File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/utils/__init__.py", line 83, in ensure_dir 
    os.makedirs(path) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 157, in makedirs 
    mkdir(name, mode) 
OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/beautifulsoup4-4.5.1.dist-info' 

Может кто-нибудь пожалуйста, скажите мне, что я делаю неправильно здесь?

Мой следующий вопрос связан с предыдущим. Я установил Python 3.5.2

>>> print(sys.version) 
3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] 
>>> 

Однако на терминале он показывает мне другую версию:

Rahul-MacBook-Air:~ rahul$ python -V 
Python 2.7.10 

Так что, когда я пытаюсь установить BeautifulSoup он начинает указывать на Python 2.7, который я думаю, что это неправильно , Он должен указывать на последнюю версию Python, т. Е. 3.5.2

Также у меня есть Python 2.7, предварительно установленный на /usr/bin/python, а Python 3.5.2 установлен на /usr/local/bin/python. Как по умолчанию версия Python такое, что каждый раз, когда я открываю терминал это уже указывает на Python 3.5.2

Спасибо, Рахул

+0

'Permission denied' – Jeon

ответ

1

У вас есть проблемы с установкой BeautifulSoup, так как пользователь вы работаете он в командах недостаточно полномочий для доступа к системному каталогу. Попробуйте выполнить команду с sudo:

sudo pip install beautifulsoup4 

Далее вы говорите, что вы установили Python 3.5.2, но не показывает команду, которую вы используете, чтобы запустить его. Я почти уверен, что это что-то вроде python3 (в любом случае не просто python), так что заставляет вас задаться вопросом, почему python -V показывает другой номер версии? Команда python запускает другой интерпретатор Python.

Если вы хотите установить что-либо для Python 3.5, вам понадобится pip3, а не pip.

Вы можете сделать python псевдоним (или символическую ссылку) в python3.5 и, возможно, переименовать 2.7 интерпретатор Python к чему-то вроде python2.7, если это не было сделано ранее.

+0

Я на самом деле новичок в python и пытаюсь изучить вещи здесь. По вашему предложению я выполнил команду 'sudo pip3 install beautifulsoup4', и я смог успешно установить ее' успешно установлен beautifulsoup4-4.5.1' Однако на мой следующий вопрос, как мне по умолчанию использовать версию python для 3.5.2 I попытался последовать за вашим ответом, но если бы вы могли разработать ответ, это было бы очень полезно. –

+0

@RahulDevMishra, что вы подразумеваете под «Как мне по умолчанию использовать версию Python ...»? Вы хотите, чтобы команда 'python' открывала Python 3.5 вместо 2.7? Я считаю, что 'pip' будет продолжать установку модулей только для Python 2.7, независимо от того, что делает команда' python'. Кроме того, файл 'python' может быть полнофункциональным интерпретатором Python (а не символической ссылкой), и если вы замените его символической ссылкой на Python 3.5, это может испортить установку Python 2.7 ... На мой взгляд, еще лучше иметь «python3.5» и «python», поэтому вы всегда знаете, какая команда запускает версию Python. – ForceBru

+0

Спасибо @ForceBru –

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