mac python python-2.7 ubuntu pip easy-install

python - mac - ¿Cómo recuperarse de la excepción de congelación de pip?



pip install python 3 (1)

Para instalar pip en las distribuciones de Linux basadas en debian (incluido ubuntu), obtuve buenos resultados al usar easy_install, del paquete python-setuptools . Entonces eso se ve así:

sudo apt-get install python-setuptools sudo easy_install pip

Parece que ya tienes easy_install disponible. De todos modos, antes de tratar de instalar pip de esa manera, deberías tratar de limpiar la mayor parte de tu configuración actual como puedas. python-pip paquete python-pip , eliminaría cualquier otro rastro de pip actualizado y también eliminaría las huellas del módulo almohada, ya que eso es lo que estaba instalando cuando las cosas empezaron a ir mal. Tal vez algo así como:

sudo apt-get remove --purge python-pip sudo rm -rf /usr/local/lib/python2.7/{dist,site}-packages/pip* sudo rm -rf /usr/local/lib/python2.7/{dist,site}-packages/pillow*

Finalmente, cuando usa easy_install o pip para instalar algo que incluye un comando además de un módulo de python importable, el comando se colocará en /usr/local/bin , por lo que debe asegurarse de que /usr/local/bin está en la PATH tu caparazón. El comando pip estará allí. (Solo usaría easy_install para instalar pip, luego usaré pip para instalar cualquier otro paquete de Python).

EDITAR: por cierto, la "excepción inicial de easy_install pillow" no es una excepción ni un error. Muestra algunas advertencias de compilador no fatales, y algunas características no fueron habilitadas, pero parece haber funcionado. Probablemente fueron acciones posteriores con pip lo que causó un problema para pip.

mucho más tarde editar 2: tuve un "braino" y escribí /usr/local/lib donde quise decir /usr/local/bin en el último párrafo original de arriba. Corregido ahora.

Estoy instalando paquetes de Python 2.7 en un sistema ubuntu 14 y me he encontrado con un problema en el que "pip freeze" produce resultados como este ...

$ pip freeze Exception: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main status = self.run(options, args) File "/usr/lib/python2.7/dist-packages/pip/commands/freeze.py", line 74, in run req = pip.FrozenRequirement.from_dist(dist, dependency_links, find_tags=find_tags) File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 286, in from_dist assert len(specs) == 1 and specs[0][0] == ''=='' AssertionError Storing debug log for failure in /home/ubuntu/.pip/pip.log $ cat /home/ubuntu/.pip/pip.log ------------------------------------------------------------ /usr/bin/pip run on Tue Feb 9 21:00:36 2016 Exception: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main status = self.run(options, args) File "/usr/lib/python2.7/dist-packages/pip/commands/freeze.py", line 74, in run req = pip.FrozenRequirement.from_dist(dist, dependency_links, find_tags=find_tags) File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 286, in from_dist assert len(specs) == 1 and specs[0][0] == ''=='' AssertionError

No estoy seguro de qué causó este estado de cosas.
Mi sospecha es que una falla del programa easy_install podría haber dañado algo.

He intentado volver a instalar pip.
Esto no tuvo efecto.

Sospecho que tendré que hacer una desinstalación completa y reinstalar todos los paquetes de Python a través de paquetes ubuntu relacionados con pip y python a través de apt-get. paquete por paquete.

Esto llevará bastante tiempo y no estoy seguro de si alcanzará el resultado deseado.

¿Hay un mejor enfoque para este problema?

Estos son los paquetes que instalé antes de ejecutar easy_install:

sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler gfortran libjpeg62 libfreeimage-dev libatlas-base-dev git python-dev python-pip libgoogle-glog-dev libbz2-dev libxml2-dev libxslt-dev libffi-dev libssl-dev libgflags-dev liblmdb-dev python-yaml python-numpy

Aquí está la excepción inicial que recibí de easy_install:

$ sudo easy_install pillow Searching for pillow Reading https://pypi.python.org/simple/pillow/ Best match: Pillow 3.1.1 Downloading https://pypi.python.org/packages/source/P/Pillow/Pillow-3.1.1.zip#md5=3868f54fd164e65f95fbcb32f62940ae Processing Pillow-3.1.1.zip Writing /tmp/easy_install-Bvu_2f/Pillow-3.1.1/setup.cfg Running Pillow-3.1.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-Bvu_2f/Pillow-3.1.1/egg-dist-tmp-lMm5Tk warning: no previously-included files found matching ''.editorconfig'' Building using 4 processes _imaging.c: In function ‘getink’: _imaging.c:474:9: warning: ‘r’ may be used uninitialized in this function [-Wmaybe-uninitialized] int r, g, b, a; ^ libImaging/Resample.c:87:45: warning: always_inline function might not be inlinable [-Wattributes] static float __attribute__((always_inline)) i2f(int v) { ^ Building using 4 processes Building using 4 processes Building using 4 processes -------------------------------------------------------------------- PIL SETUP SUMMARY -------------------------------------------------------------------- version Pillow 3.1.1 platform linux2 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] -------------------------------------------------------------------- *** TKINTER support not available --- JPEG support available *** OPENJPEG (JPEG2000) support not available --- ZLIB (PNG/ZIP) support available --- LIBTIFF support available --- FREETYPE2 support available *** LITTLECMS2 support not available *** WEBP support not available *** WEBPMUX support not available -------------------------------------------------------------------- To add a missing option, make sure you have the required library, and set the corresponding ROOT variable in the setup.py script. To check the build, run the selftest.py script. Adding Pillow 3.1.1 to easy-install.pth file Installing pildriver.py script to /usr/local/bin Installing viewer.py script to /usr/local/bin Installing gifmaker.py script to /usr/local/bin Installing pilconvert.py script to /usr/local/bin Installing pilfont.py script to /usr/local/bin Installing pilfile.py script to /usr/local/bin Installing createfontdatachunk.py script to /usr/local/bin Installing explode.py script to /usr/local/bin Installing pilprint.py script to /usr/local/bin Installing player.py script to /usr/local/bin Installing thresholder.py script to /usr/local/bin Installing painter.py script to /usr/local/bin Installing enhancer.py script to /usr/local/bin Installed /usr/local/lib/python2.7/dist-packages/Pillow-3.1.1-py2.7-linux-x86_64.egg Processing dependencies for pillow Finished processing dependencies for pillow Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner self.run() File "/usr/lib/python2.7/threading.py", line 763, in run self.__target(*self.__args, **self.__kwargs) File "/usr/lib/python2.7/multiprocessing/pool.py", line 330, in _handle_workers debug(''worker handler exiting'') TypeError: ''NoneType'' object is not callable Exception Exception in thread Thread-2: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner self.run() File "/usr/lib/python2.7/threading.py", line 763, in run self.__target(*self.__args, **self.__kwargs) File "/usr/lib/python2.7/multiprocessing/pool.py", line 357, in _handle_tasks debug(''task handler got sentinel'') TypeError: ''NoneType'' object is not callable TypeError: TypeError("''NoneType'' object does not support item deletion",) in <Finalize object, dead> ignored ubuntu@ip-10-234-31-217:~/nvidia_installers/cuda$

Posteriormente pude instalar la almohada a través de pip.

Me he dado cuenta de que parece haber 2 paquetes diferentes de dist en mi camino.
Eso parece ser un poco extraño.

>>> import sys >>> import pprint >>> pp = pprint.PrettyPrinter(indent=4) >>> pp.pprint(sys.path) [ '''', ''/usr/lib/python2.7'', ''/usr/lib/python2.7/plat-x86_64-linux-gnu'', ''/usr/lib/python2.7/lib-tk'', ''/usr/lib/python2.7/lib-old'', ''/usr/lib/python2.7/lib-dynload'', ''/usr/local/lib/python2.7/dist-packages'', ''/usr/lib/python2.7/dist-packages'']

Este es el procedimiento completo que estoy siguiendo:
Instale Caffe en EC2 desde cero

Entiendo que la versión de pip que admite apt-get es muy antigua.
He intentado actualizar pip.
Obtengo errores "Propiedad de SO".
No estoy seguro de cómo diferir del uso de apt-get aquí y las consecuencias de hacerlo.

$ pip install -U pip Downloading/unpacking pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-8.0.2-py2.py3-none-any.whl#md5=2056f553d5b593d3a970296f229c1b79 Downloading pip-8.0.2-py2.py3-none-any.whl (1.2MB): 1.2MB downloaded Installing collected packages: pip Found existing installation: pip 1.5.4 Not uninstalling pip at /usr/lib/python2.7/dist-packages, owned by OS Can''t roll back pip; was not uninstalled Cleaning up... Exception: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main status = self.run(options, args) File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 283, in run requirement_set.install(install_options, global_options, root=options.root_path) File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1436, in install requirement.install(install_options, global_options, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/pip/req.py", line 672, in install self.move_wheel_files(self.source_dir, root=root) File "/usr/lib/python2.7/dist-packages/pip/req.py", line 902, in move_wheel_files pycompile=self.pycompile, File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 206, in move_wheel_files clobber(source, lib_dir, True) File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 193, in clobber os.makedirs(destsubdir) File "/usr/lib/python2.7/os.py", line 157, in makedirs mkdir(name, mode) OSError: [Errno 13] Permission denied: ''/usr/local/lib/python2.7/dist-packages/pip-8.0.2.dist-info'' Storing debug log for failure in /home/ubuntu/.pip/pip.log $ sudo pip install -U pip Downloading/unpacking pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-8.0.2-py2.py3-none-any.whl#md5=2056f553d5b593d3a970296f229c1b79 Downloading pip-8.0.2-py2.py3-none-any.whl (1.2MB): 1.2MB downloaded Installing collected packages: pip Found existing installation: pip 1.5.4 Not uninstalling pip at /usr/lib/python2.7/dist-packages, owned by OS Successfully installed pip Cleaning up... $ pip --version pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7) ubuntu@ip-10-234-31-217:~$ pip freeze Exception: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main status = self.run(options, args) File "/usr/lib/python2.7/dist-packages/pip/commands/freeze.py", line 74, in run req = pip.FrozenRequirement.from_dist(dist, dependency_links, find_tags=find_tags) File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 286, in from_dist assert len(specs) == 1 and specs[0][0] == ''=='' AssertionError Storing debug log for failure in /home/ubuntu/.pip/pip.log

Otro método de actualización de pip también falló:

$ sudo pip install --upgrade pip The directory ''/home/ubuntu/.cache/pip/http'' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo''s -H flag. The directory ''/home/ubuntu/.cache/pip'' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo''s -H flag. /usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:315: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#snimissingwarning. SNIMissingWarning /usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:120: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. InsecurePlatformWarning Requirement already up-to-date: pip in /usr/local/lib/python2.7/dist-packages /usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:120: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. InsecurePlatformWarning $ pip freeze Exception: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main status = self.run(options, args) File "/usr/lib/python2.7/dist-packages/pip/commands/freeze.py", line 74, in run req = pip.FrozenRequirement.from_dist(dist, dependency_links, find_tags=find_tags) File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 286, in from_dist assert len(specs) == 1 and specs[0][0] == ''=='' AssertionError Storing debug log for failure in /home/ubuntu/.pip/pip.log $ ls -lF /home/ubuntu/.cache/pip/http ls: cannot access /home/ubuntu/.cache/pip/http: No such file or directory $ ls -lF /home/ubuntu/.cache total 0 -rw-r--r-- 1 ubuntu ubuntu 0 Feb 6 00:39 motd.legal-displayed