Como faço para remover os pacotes instalados com easy_install do Python?
-
22-07-2019 - |
Pergunta
O Python easy_install
marcas de instalar novos pacotes extremamente conveniente. No entanto, tanto quanto eu posso dizer, ele não implementa o outro comum dispõe de um gerente de dependência -. Listagem e remoção de pacotes instalados
Qual é a melhor maneira de descobrir o que está instalado, e qual é a maneira preferida de remover pacotes instalados? Existem quaisquer arquivos que precisam ser atualizados se eu remover pacotes manualmente (por exemplo, rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.egg
ou similar)?
Solução
pip , uma alternativa ao setuptools / easy_install, fornece um comando de "desinstalar".
Instale pip de acordo com a instruções de instalação :
$ wget https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py
Então você pode usar pip uninstall
para remover os pacotes instalados com easy_install
Outras dicas
Para desinstalar um .egg
você precisa rm -rf
o ovo (que poderia ser um diretório) e retire a linha correspondente da site-packages/easy-install.pth
Primeiro você tem que executar este comando:
$ easy_install -m [PACKAGE]
Ele remove todas as dependências do pacote.
Em seguida, retire arquivo ovo desse pacote:
$ sudo rm -rf /usr/local/lib/python2.X/site-packages/[PACKAGE].egg
Toda a informação está em outras respostas, mas nenhuma resume ambos suas solicitações ou parecem fazer as coisas desnecessariamente complexo:
-
Para as suas necessidades de remoção de usar:
pip uninstall <package>
(instalar usando
easy_install pip
) -
Para que sua 'lista de pacotes instalados' precisa de tanto para uso:
pip freeze
Ou:
yolk -l
que saída pode mais Detalhes do pacote.
(Instalar através
easy_install yolk
oupip install yolk
)
Há várias fontes na rede sugerindo um hack reinstalando o pacote com a opção -m e depois é só remover o arquivo .egg em lib / e os binários em bin /. Além disso, a discussão sobre esta questão setuptools podem ser encontrados no bug tracker python como setuptools questão 21 .
Edit:. Adicionado o link para o bugtracker python
Se o problema é um incómodo grave o suficiente para você, você pode considerar virtualenv . Ele permite que você crie um ambiente que encapsula bibliotecas python. Você instalar pacotes lá em vez de no diretório global de site-packages. Quaisquer scripts que você executa nesse ambiente têm acesso a esses pacotes (e, opcionalmente, os seus entes globais também). Eu uso muito isso ao avaliar pacotes que não estou certo de que quer / necessidade de instalar globalmente. Se você decidir que não precisa do pacote, é fácil o suficiente para apenas golpe que ambiente virtual de distância. É muito fácil de usar. Faça uma nova env:
$>virtualenv /path/to/your/new/ENV
virtual_envt instala setuptools para você no novo ambiente, de modo que você pode fazer:
$>ENV/bin/easy_install
Você pode até criar seus próprios scripts boostrap que configurar o seu novo ambiente. Então, com um comando, você pode criar um novo env virtual com, digamos, o Python 2.6, psycopg2 e django instalado por padrão (você pode possível instalar uma versão específica de env de python se você quiser).
oficiais instruções (?): http://peak.telecommunity.com/DevCenter/ EasyInstall # desinstalar-pacotes
Se você tiver substituído um pacote com outra versão, então você pode simplesmente apagar o pacote (s) que você não precisa, excluindo o arquivo PackageName-versioninfo.egg ou diretório (encontrado no diretório de instalação).
Se você deseja excluir a versão atualmente instalada de um pacote (ou todas as versões de um pacote), você deve primeiro executar:
easy_install -mxN PackageName
Isto irá assegurar que Python não continue a procurar por um pacote que você está planejando para remover. Depois de ter feito isso, você pode excluir com segurança os arquivos .egg ou diretórios, juntamente com todos os scripts que você deseja remover.
try
$ easy_install -m [PACKAGE]
então
$ rm -rf .../python2.X/site-packages/[PACKAGE].egg
Lista instalado pacotes Python, você pode usar yolk -l
. Você vai precisar usar easy_install yolk
primeiro embora.
Deparei com esta questão, ao tentar desinstalar os muitos pacotes Python aleatório instalados ao longo do tempo.
Usando informações de esta discussão, é isso que eu vim com:
cat package_list | xargs -n1 sudo pip uninstall -y
O package_list
é limpo (awk) a partir de um pip freeze
num virtualenv.
Para remover quase todos os pacotes Python:
yolk -l | cut -f 1 -d " " | grep -v "setuptools|pip|ETC.." | xargs -n1 pip uninstall -y
Eu corri para o mesmo problema no meu MacOS X Leopard 10.6.blah.
A solução é certificar-se de que você está chamando o MacPorts Python:
sudo port install python26
sudo port install python_select
sudo python_select python26
sudo port install py26-mysql
Espero que isso ajude.
Para mim única apagar este arquivo: fácil install.pth trabalhou, pip resto instalar Django == 1.3.7
Isso funcionou para mim. É semelhante a respostas anteriores, mas o caminho para os pacotes é diferente.
- sudo easy_install -m
- sudo rm -rf /Library/Python/2.7/site-packages/.egg
plaform: MacOS versão High Sierra 10.13.3