Eu instalei o Python 2.7.9 no Ubuntu 14.04 compilando sua origem , por .configre
, make
, e make altinstall
. make altinstall
é porque não quero sobrescrever o Python 2.7.6 padrão. Meu auto-instalado 2.7.9 está dentro /usr/local/bin/python2.7
e muitos outros arquivos em outros diretórios abaixo /usr/local
. Do README no pacote de instalação de origem:
Nos sistemas Unix e Mac, se você pretende instalar várias versões do Python usando o mesmo prefixo de instalação (argumento --prefix para o script configure), certifique-se de que o executável principal do python não seja sobrescrito pela instalação de uma versão diferente.
Todos os arquivos e diretórios instalados usando o "make altinstall" contêm as versões principal e secundária e, portanto, podem viver lado a lado. "make install" também cria $ {prefix} / bin / python, que se refere a $ {prefix} /bin/pythonX.Y.
Se você pretende instalar várias versões usando o mesmo prefixo, você deve decidir qual versão (se houver) é a sua versão "primária". Instale essa versão usando "make install". Instale todas as outras versões usando "make altinstall".
Por exemplo, se você deseja instalar o Python 2.5, 2.6 e 3.0, sendo 2.6 a versão principal, execute "make install" em seu diretório de construção 2.6 e "make altinstall" nos outros.
Agora eu quero desinstalar o meu auto-instalado 2.7.9.
Felizmente ainda tenho o código fonte, mas infelizmente o Makefile não possui a seção de desinstalação
$ sudo make uninstall make: *** No rule to make target `uninstall'. Stop.
Então tentei de outra maneira: primeiro crie um deb a partir da fonte e da compilação, instale o deb (substituindo os arquivos instalados a partir de
make altinstall
) e, em seguida, desinstale o deb.Mas quando eu crio o arquivo deb por
checkinstall
, não tenho certeza se e como devo fazer diferente paramake altinstall
formake install
. O que eu tentei é:$ checkinstall altinstall ... Installing with altinstall... ========================= Installation results =========================== /var/tmp/tmp.4ZzIiwqBNL/installscript.sh: 4: /var/tmp/tmp.4ZzIiwqBNL/installscript.sh: altinstall: not found ...
Gostaria de saber como posso criar um deb para que a instalação do deb duplique o processo de instalação do
make altinstall
?Ou qual é a sua maneira de desinstalar o meu python 2.7.9?
Nota: o pacote fonte no primeiro link também possui setup.py
, install-sh
além disso README
.
/usr/local
é essencialmente o mesmo lugar, exceto que é usado em vez de/usr
.dpkg -L python2.7
edpkg -L python2.7-minimal
. E o que você precisa2.7.9
?apt-get install python-pip
.Respostas:
Os seguintes comandos removerão seu
make altinstall
python -ed:Você também pode ter que fazer
Embora
make altinstall
tenha me ajudado muito bem se o "python do sistema" tiver um número maior e menor do que você instala, ele não funciona tão bem se apenas o número micro (a terceira posição) for diferente. Esse número é excluído do binário instalado e você acaba com duas versões pythonX.Y. Isso sempre foi um problema, mas uma vez que as distribuições começaram a ser enviadas com utilitários de sistema com base no 2.7.X, esse problema foi mais grave, pois o 2.7 deveria ser o último da série Python2.Na IMO, a melhor abordagem para resolver esse problema é impedir que ele se torne um: configure o python para instalar em um diretório não usado por nenhum outro python. No meu sistema eles afundam
/opt/python/X.Y.Z
.Para usar qualquer um dos Pythons instalados lá, você usa
[virualenv][1]
para criar um novo ambiente:ou use
[virtualenvwrapper][2]
. Eu tenho alguns aliases para as versões mais recentes da série com as quais trabalho.Se você estiver usando
tox
para testar em várias versões (você deve), o seguinte alias ajudará a encontrar as várias versões:(atualmente, são as versões mais recentes, eu uso uma configuração ligeiramente diferente mantendo os links
/opt/python/2.7
para a mais recente/opt/python/2.7.9
e também para os outros números menores, durante o processo de download, criação e instalação de uma nova versão python)Essas instalações nunca são usadas diretamente. Eles sempre são usados como base
virtualenv
apenas para ambientes, portanto, não me importo que eles não estejam no meu caminho normal.fonte
pip
fora de umavirtualenv
em qualquer instalação do LinuxComeçando na
rm
lista do @ Anthon e aplicando o conselho do @ bin-s para procurar arquivos mais recentes, vim com este script bash para eliminar completamente o meu Python-3.6.6 (que foi instalado a partir de fontes commake altinstall
):Use-o com cuidado (por exemplo, adicione a
-I
opção em rm cmd para verificar cada morte).fonte
Normalmente, todos os arquivos são instalados em quase um minuto. Você pode usar "find" para verificar todos os arquivos instalados quase ao mesmo tempo e depois "rm" manualmente. Desejo útil.
fonte