He instalado Python 2.7.9 en Ubuntu 14.04 mediante la compilación de su fuente , por .configre
, make
y make altinstall
. make altinstall
es porque no quiero sobrescribir el Python 2.7.6 predeterminado. Mi ser instalado en 2.7.9 es /usr/local/bin/python2.7
y muchos otros archivos en otros directorios bajo /usr/local
. Desde README en el paquete de instalación de origen:
En los sistemas Unix y Mac, si tiene la intención de instalar varias versiones de Python utilizando el mismo prefijo de instalación (argumento de prefijo para el script de configuración), debe tener cuidado de que su ejecutable principal de Python no se sobrescriba con la instalación de una versión diferente.
Todos los archivos y directorios instalados usando "make altinstall" contienen la versión mayor y menor y, por lo tanto, pueden vivir lado a lado. "make install" también crea $ {prefix} / bin / python que se refiere a $ {prefix} /bin/pythonX.Y.
Si tiene intención de instalar varias versiones con el mismo prefijo que debe decidir qué versión (si lo hay) es su versión de "primaria". Instale esa versión usando "make install". Instale todas las demás versiones utilizando "make altinstall".
Por ejemplo, si desea instalar Python 2.5, 2.6 y 3.0 siendo 2.6 la versión principal, debe ejecutar "make install" en su directorio de compilación 2.6 y "make altinstall" en los demás.
Ahora quiero desinstalar mi 2.7.9 autoinstalado.
Afortunadamente todavía tengo el código fuente, pero desafortunadamente, el Makefile no tiene la sección de desinstalación
$ sudo make uninstall make: *** No rule to make target `uninstall'. Stop.
Luego intenté de otra manera: primero creé un deb desde la fuente y la compilación, instalé el deb (con suerte sobrescribiendo los archivos instalados
make altinstall
) y luego desinstalé el deb.Sin embargo, cuando se crea el archivo deb
checkinstall
, no estoy seguro de si y cómo debe hacer de manera diferente paramake altinstall
a partir demake install
. Lo que probé es:$ checkinstall altinstall ... Installing with altinstall... ========================= Installation results =========================== /var/tmp/tmp.4ZzIiwqBNL/installscript.sh: 4: /var/tmp/tmp.4ZzIiwqBNL/installscript.sh: altinstall: not found ...
Me pregunto cómo puedo crear un deb para que la instalación del deb duplique el proceso de instalación
make altinstall
.¿O cuál es su forma de desinstalar mi python 2.7.9?
Nota: el paquete fuente en el primer enlace también tiene setup.py
, install-sh
además README
.
fuente
/usr/local
se usa en lugar de/usr
.dpkg -L python2.7
ydpkg -L python2.7-minimal
. ¿Y para qué necesitas2.7.9
?apt-get install python-pip
.Respuestas:
Los siguientes comandos eliminarán tu
make altinstall
python ed:Puede que también tengas que hacer
A pesar de que
make altinstall
me ha servido bien si el "sistema python" tiene un número mayor.minor diferente del que instala, no funciona tan bien si solo el número micro (la tercera posición) difiere. Ese número se excluye del binario instalado, y se acaba con dos versiones pythonX.Y. Esto siempre fue un problema, pero una vez que las distribuciones comenzaron a distribuirse con las utilidades del sistema basadas en 2.7.X, este problema ha sido más grave, ya que se supone que 2.7 es la última de la serie Python2.En mi opinión, el mejor enfoque para resolver este problema es evitar que se convierta en uno: configure Python para que se instale en un directorio no utilizado por ningún otro Python. En mi sistema se hunden
/opt/python/X.Y.Z
.Para usar cualquiera de las pitones instaladas allí, se usa
[virualenv][1]
para crear un nuevo entorno:o uso
[virtualenvwrapper][2]
. Tengo algunos alias para las últimas versiones de la serie con la que trabajo.Si está utilizando
tox
para probar contra múltiples versiones (debería) la siguiente alias le ayudará a encontrar los distintos versión:(estas son actualmente las últimas versiones, utilizo una configuración ligeramente diferente al mantener los enlaces desde
/opt/python/2.7
la última/opt/python/2.7.9
, y también para los otros números menores, dentro del proceso de descarga, construcción e instalación de una nueva versión de Python)Estas instalaciones nunca se usan directamente. Siempre se usan como base para
virtualenv
entornos solamente, por lo tanto, no me importa que no estén en mi RUTA normal.fuente
pip
exterior de unvirtualenv
sobre cualquier instalación de LinuxComenzando por la
rm
lista de @ Anthon y aplicando los consejos de @ bin-s para buscar archivos más nuevos, se me ocurrió este script bash para borrar completamente mi Python-3.6.6 (que se había instalado desde las fuentes conmake altinstall
):Úselo con cuidado (por ejemplo, agregue la
-I
opción en cm rm para verificar cada muerte).fuente
Por lo general, todos los archivos se instalan en casi un minuto. Puede usar "buscar" para verificar todos los archivos instalados casi al mismo tiempo, luego "rm" manualmente. Lo deseo útil.
fuente