Quando eu corro:
sudo pip install ipython
Estou tendo o erro a seguir
OSError: [Erro: 1] Operação não permitida: '/System/Library/Frameworks/Python.framework/Versions/2.7/share'
O último comando executado tenta criar o diretório fornecido acima.
Além disso, o comando a seguir falha ao instalar o iPython sem fornecer erros.
sudo pip install --user python
(Estou no Mac OS X El Capitan, caso outras pessoas neste sistema operacional vejam o mesmo problema.)
pip
ipython
failed-installation
osx-elcapitan
Milad M
fonte
fonte
$PATH
para que você possa chamar os executáveis dos pacotes --user instalados. stackoverflow.com/a/47102398/117471sudo
com--user
. O que--user
faz é instalar em~/Library
vez de/Library
Você não precisa usarsudo
para instalar lá. Mas depois que você instalasudo
, os diretórios e arquivos são de propriedade deroot
. Então você tem que usarsudo
para fazer qualquer outra coisa com eles. O que, por sua vez, exigirá que você usesudo
para outras coisas para as quais não deve usá-lo. Mesmo um erro honesto pode passar de um erro a destruir dados.Respostas:
Instruções dizendo
sudo pip install
são inerentemente erradas.Se houver algum tutorial por aí que diga que você deve fazer
sudo pip
, registre um bug neste pacote. O autor está deseducando a comunidade Python, pois o tempo provousudo pip
ser uma prática quebrada.OSX El Capitan introduziu um mecanismo para evitar danificar os arquivos do sistema operacional .
/System/Library/Frameworks/Python.framework/Versions/2.7/share
é um dos locais protegidos. Um usuário normal não tem motivos para colocar ou gravar arquivos nele . Isso ocorre porque o próprio sistema operacional depende desses arquivos esudo pip
, com toda a força fornecida acima, os substituirá incondicionalmente. Geralmente coisas ruins não aconteceriam, mas as chances estão aí. A Apple quer proteger seus usuários de SO para bloquear acidentalmente sua instalação.Em vez disso, você precisa instalar um pacote Python, como IPython, localmente na pasta inicial do seu usuário . A maneira mais fácil é criar um ambiente virtual , ativá-lo e executar o pip no ambiente virtual.
Exemplo:
Mais informações
Tutorial oficial de instalação do pacote Python .
Como criar ambientes virtuais .
Alternativamente, um deve ser capaz de fazer
pip install --user
. Porém, novamente, nenhum sudo é necessário e você precisa configurar manualmente aPATH
variável de ambiente.fonte
easy_install
stackoverflow.com/a/33463702/3078330pip install virtualenv
não é mais necessário para o Python 3.4+, pois eles vêm com opython -m venv
equivalente de virtualenv interno . docs.python.org/3/library/venv.htmlpip install --user IPython
ajudar com isso. Além disso,pip install --user IPython
falha ao colocar oipython
comando no$PATH
(pelo menos na minha máquina).Eu tive os mesmos problemas, mas o uso
easy_install "module"
resolveu o problema para mim.Não sei por que, mas o pip e o easy_install usam diferentes locais de instalação e o easy_install escolheu os locais certos.
Editar: sem verificar novamente, mas por causa dos comentários; parece que instalações diferentes (OSX e instaladas por brew) interferem entre si, e é por isso que as ferramentas mencionadas realmente apontam para locais diferentes (pois pertencem a instalações diferentes). Entendo que normalmente essas ferramentas de uma instalação apontam para a mesma pasta.
fonte
easy_install
está configurado para outro?easy_install
para todos eles:easy_install-2.6
,easy_install-2.7
,easy_install-3.5
pip
eeasy_install
apontam para diferentes Python's. Você pode descobrir isso com owhich
comando UNIX e, em seguida, descobrir opip
comando correto a ser usado.Você deve reinstalar o Python:
Para obter o brew, consulte a página inicial do brew .
fonte
brew install python
então acho quepip
já está no lugar. Depois quepip
instalar trabalhou (i teve problemas semelhantes w / permissões e fiando pip em instalações)pip install --ignore-installed six
Isso fará o trabalho, e você poderá tentar seu primeiro comando.
Via http://github.com/pypa/pip/issues/3165
fonte
pip install --ignore-installed setuptools
.Usado em
pip3 install <package>
vez disso e resolveu o problema de permissão compip
.fonte
pip3
usa o Python 3, que geralmente é instalado pelo usuário. O Python 2 (2.7), por outro lado, é enviado com o macOS e é protegido como explica a resposta mais bem classificada.Correção TL; DR $ PATH
pip install --user package_name
para instalar um pacote que deve incluir executáveis da CLI.import package_name
lib/python/...
ocorre a saída e substitua tudo porbin
$HOME/Library/Python/2.7/bin
Detalhes
Devido à nova proteção de integridade do sistema no macOS 10.11 El Capitan, você não pode mais
sudo pip install
. Não discutiremos os méritos disso aqui.Outra resposta explica que você deve
pip install --user
qual está correto. Mas eles enviaram você para os becos dos fundos para descobrir o que fazer com o seu$PATH
para que você pudesse acessar os executáveis instalados. Felizmente, já resolvi uma necessidade semelhante de uma pergunta não relacionada .Aqui está uma transcrição de como eu resolvi o problema em um dos meus sistemas. Estou incluindo tudo isso, mais do que o
$PATH
que funcionou para mim, porque seu sistema pode ser diferente do meu. Esse processo deve funcionar para todos.fonte
Mesmo erro
e aqui eu uso
--user
semsudo
para resolver esse problemaEspero que ajude alguém que tenha problemas semelhantes!
fonte
sudo
com--user
. O que--user
faz é instalar em~/Library
vez de/Library
Você não precisa usarsudo
para instalar lá. Mas depois que você instalasudo
, os diretórios e arquivos são de propriedade deroot
. Então você tem que usarsudo
para fazer qualquer outra coisa com eles. O que, por sua vez, exigirá que você usesudo
para outras coisas para as quais não deve usá-lo. Mesmo um erro honesto pode passar de um erro a destruir dados.Eu tive os mesmos problemas. Como outros já mencionaram, não execute o pip install com o sudo. Corre
e corrija os avisos e você poderá continuar com a instalação do pip.
fonte
É difícil fazer o pip trabalhar no El Capitan por vários motivos:
/System/Library/
. O El Capitan bloqueia isso, que é o erro que você está enfrentando./System/Library/
. O pip geralmente deseja atualizá-los, mas não pode fazê-lo no El Capitan./System/Library/
mais alto na ordem de pesquisa em python do que/Library/Python/2.7/site-packages
(o local do pacote em todo o sistema), portanto, mesmo se você conseguir instalar versões mais recentes de alguns pacotes, as antigas ainda serão carregadas, quebrando algumas dependências.Existem soluções alternativas para tudo isso em https://apple.stackexchange.com/a/223163/143849 . Mas é melhor instalar sua própria versão do Python através do instalador padrão do Python, Homebrew ou Anaconda.
fonte
Eu acho que você tem algum conflito com outro pacote. Para mim foi
six
. Então você precisa usar um comando como este:ou
pip install --ignore-installed six
fonte
six
.Concordo plenamente com Mikko, mas se você ainda quiser fazê-lo, aqui está o caminho:
csrutil disable
fonte
Eu tenho o python2.7 instalado via brew e o seguinte resolveu meu problema
instalação de fermentação numpy
Ele instala o python3, mas ainda funciona e o configura para o 2.7 também.
fonte