2015-12-12 7 views
0

Я пытаюсь установить Pelican для python с помощью pip install pelican, но я получаю эти ошибки. Я использую Python 2.7.9 в комплекте с Mac OSXPython pip broken - установка Pelican

Exception: 
    Traceback (most recent call last): 
     File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg >/pip/basecommand.py", line 211, in main 
     status = self.run(options, args) 
     File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg 
/pip/commands /install.py", line 311, in run 
    root=options.root_path, 
    File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/req 
/req_set.py", line 646, in install 
    **kwargs 
    File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/req 
/req_install.py", line 803, in install 
    self.move_wheel_files(self.source_dir, root=root) 
    File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/req 
/req_install.py", line 998, in move_wheel_files 
    isolated=self.isolated, 
    File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/wheel.py", 
line 339, in move_wheel_files 
    clobber(source, lib_dir, True) 
    File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/wheel.py", >line 310, in clobber 
    ensure_dir(destdir) 
    File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/utils 
/__init__.py", line 71, 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/pelican' 
Evens-MacBook-Pro:~ even$ 
+0

Возможный дубликат [Ошибка: не удалось создать «/Library/Python/2.7/site-packages/xlrd»: Доступ запрещен] (HTTP: //stackoverflow.com/questions/18199853/error-could-not-create-library-python-2-7-site-packages-xlrd-permission-den) – pherris

ответ

-1

Изменения установки системного уровня Python (или Ruby, или Perl ...) может превратиться в кашу, и я имел мою работу там громил в прошлом - обновлениями системы. Apple не гарантирует, что ваши локальные изменения будут сохранены после обновления ОС.

Возможно, вам больше не нужно устанавливать собственные версии, используя что-то вроде Homebrew, которое устанавливается в /usr/local.

У Homebrew есть доступные Python 2.x и 3.x (и они могут сосуществовать очень хорошо). Он поддерживает новые выпуски лучше, чем Apple. У Homebrew также есть много других вещей Unix, которые вы можете или не найдете полезными.

После установки Homebrew, установка Python прост:

brew install python 
brew install python3 

Убедитесь, что /usr/local/bin рано в вашем $PATH. Он также предоставляет вам pip и pip3 для установки пакета Python для версий 2.x и 3.x.

+0

Спасибо! Я решил его решить :) –

+0

'sudo' не является решением, когда что-то не будет установлено. Вы действительно говорите «эй, пусть эта программа сделает все, что захочет». Поскольку OP, вероятно, не писал 'pip', они не должны чувствовать себя комфортно, устанавливая его (или любой TPS) с помощью' sudo'. http://stackoverflow.com/a/23789994/1861459 – pherris

+0

@pherris, поэтому я предложил использовать вместо этого пиво ... :) –

0

Это ошибка, потому что вы не имеют права на запись на этой системы каталога. Следовательно, OSError: [Errno 13] Permission denied.

Если вы хотите установить во всей системе, вы должны запустить pip с правами суперпользователя, чтобы получить разрешение:

sudo pip install pelican 

Хотя, что не было бы необходимости - ни хорошая практика - , например, если вы устанавливаете внутри virtualenv.

Другая возможность, упомянутая в this answer, указана в @pherris, заключается в добавлении флага --user к команде pip. Это будет установить пакет только для текущего пользователя:

pip install pelican --user 
+0

Это не дает ответа на вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже их сообщения. - [Из обзора] (/ review/low-quality-posts/10536886) – maazza

+0

@maazza Спасибо, я отредактирую его. – iled

+1

Спасибо! Я закончил делать virtualenv –

2

Ваш обычный пользователь не может установить в общесистемный каталог пакетов Python. Вместо использования sudo, установите пакет локально для учетной записи пользователя:

pip install --user pelican 
Смежные вопросы