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)?

Foi útil?

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 ou pip install yolk)

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.

  1. sudo easy_install -m
  2. sudo rm -rf /Library/Python/2.7/site-packages/.egg

plaform: MacOS versão High Sierra 10.13.3

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top