Olá, eu estava testando o empacotamento python usando setuptools e para testar instalei o módulo em modo de desenvolvimento. ie
python setup.py develop
Isso adicionou meu diretório de módulos ao sys.path. Agora eu quero remover o módulo, há alguma maneira de fazer isso?
desde já, obrigado
python
setuptools
copyninja
fonte
fonte
pip
ou outro gerenciador com capacidade de desinstalação para gerenciar pacotes Python.python setup.py develop
compip
?--editable
(ou-e
) que se comporta aproximadamente de forma equivalente ao setuptools 'develop
. Achei que talvez--editable
fosse mais recente do que o seu comentário, mas não - uma rápida pesquisa do repositório pip no GitHub mostra referências a editáveis em commits em 2009. Além do mais, vejo que isso já foi apontado por Tomasz Wysocki antes de você comentar !Respostas:
Use a opção
--uninstall
ou-u
paradevelop
, ou seja:Isso o removerá de easy-install.pth e excluirá o link .egg. A única coisa que ele não faz é deletar scripts (ainda).
fonte
setup.py
, deverá removê-los manualmente.--user
opção como fiz durante a instalação:python setup.py develop --uninstall --user
rm
oudel
dependendo do seu sistema operacional. O que eu quis dizer é que se você teve alguns executáveis no momento em que for instalado e, em seguida, mudar seus nomes (ou remover) na suasetup.py
, entãosetup.py
não vai conhecê-los por mais tempo (não importa o seupip
/python
versão e você precisa cuidar deles manualmente. Eles geralmente estão localizados em algumbin
diretório em sistemas POSIX (leia Linuxes, BSDs, MacOS X), não lembro sobre o Win.Edite easy-install.pth no diretório de pacotes do seu site e remova a linha que aponta para a sua versão de desenvolvimento desse pacote.
fonte
develop --uninstall
falhei porque eu tinha dividido um projeto em dois, e o errado permaneceu no diretório original.Eu tive um problema semelhante a este antes. O que fiz foi carregar o shell Python, importar o módulo e imprimir seu
__file__
atributo. De lá, eu apenas removeria a pasta ou arquivo que estava sendo associado.Você pode querer olhar para o uso do virtualenv, este sistema permite que você crie uma instância de python separada do seu sistema. Todos os módulos que você instalar ou usar nesta instância são independentes, incluindo a versão do módulo.
Eu mantenho todos os meus projetos agora dentro do próprio virtualenv contido, o que me permite instalar e usar quaisquer módulos que eu quiser sem me preocupar em bagunçar módulos de outros projetos.
fonte