requirement para paquetes mac librerias instalar descargar already python bash installation pip

python - para - Pip Install no está instalando en el directorio correcto?



instalar pip python windows (8)

Parece que no puedo usar sudo pip install correctamente para que se instale en el siguiente directorio:

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/

para que luego pueda importar el módulo usando Python

Corrí

sudo pip install scikit-learn --upgrade

Resultado

Requirement already up-to-date: scikit-learn in /usr/local/lib/python2.7/site-packages Cleaning up...

Sin embargo, no está en el directorio correcto

¿Cómo obtengo sudo pip install para instalarlo en el directorio correcto?

Además, lo he intentado

sudo pip instalar Scrappy

Recibo el siguiente mensaje

new-host-2:site-packages Chris$ sudo pip install Scrapy Password: Requirement already satisfied (use --upgrade to upgrade): Scrapy in /usr/local/lib/python2.7/site-packages Requirement already satisfied (use --upgrade to upgrade): Twisted>=10.0.0 in /usr/local/lib/python2.7/site-packages (from Scrapy) Requirement already satisfied (use --upgrade to upgrade): w3lib>=1.8.0 in /usr/local/lib/python2.7/site-packages (from Scrapy) Requirement already satisfied (use --upgrade to upgrade): queuelib in /usr/local/lib/python2.7/site-packages (from Scrapy) Requirement already satisfied (use --upgrade to upgrade): lxml in /usr/local/lib/python2.7/site-packages (from Scrapy) Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /usr/local/lib/python2.7/site-packages (from Scrapy) Requirement already satisfied (use --upgrade to upgrade): cssselect>=0.9 in /usr/local/lib/python2.7/site-packages (from Scrapy) Requirement already satisfied (use --upgrade to upgrade): six>=1.5.2 in /usr/local/lib/python2.7/site-packages (from Scrapy) Requirement already satisfied (use --upgrade to upgrade): zope.interface>=3.6.0 in /usr/local/lib/python2.7/site-packages (from Twisted>=10.0.0->Scrapy) Requirement already satisfied (use --upgrade to upgrade): cryptography>=0.2.1 in /usr/local/lib/python2.7/site-packages (from pyOpenSSL->Scrapy) Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/local/lib/python2.7/site-packages (from zope.interface>=3.6.0->Twisted>=10.0.0->Scrapy) Requirement already satisfied (use --upgrade to upgrade): cffi>=0.8 in /usr/local/lib/python2.7/site-packages (from cryptography>=0.2.1->pyOpenSSL->Scrapy) Requirement already satisfied (use --upgrade to upgrade): pycparser in /usr/local/lib/python2.7/site-packages (from cffi>=0.8->cryptography>=0.2.1->pyOpenSSL->Scrapy)

Ambas instancias demuestran que ha sido instalado pero no correctamente. Por ejemplo, cuando ejecuto la siguiente importación en python:

import scrapy --------------------------------------------------------------------------- ImportError Traceback (most recent call last) <ipython-input-6-51c73a18167b> in <module>() ----> 1 import scrapy ImportError: No module named scrapy

He intentado lo siguiente:

sudo ln -s /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/


1 - Algo que podría funcionar

El ejecutable pip es en realidad una secuencia de comandos de Python.

Por defecto contiene (en Linux):

#!/usr/bin/python # EASY-INSTALL-ENTRY-SCRIPT: ''pip==1.5.6'',''console_scripts'',''pip'' __requires__ = ''pip==1.5.6'' import sys from pkg_resources import load_entry_point if __name__ == ''__main__'': sys.exit( load_entry_point(''pip==1.5.6'', ''console_scripts'', ''pip'')() )

Entonces, si obtuvieras lo mismo en MacOS, pip siempre usaría /usr/bin/python .

Pero esto es un defecto. Todavía puede proporcionar la versión de python que desee editando el archivo o utilizando python explícitamente.

Si which python devuelve /usr/bin/python , algo salió mal cuando instaló su propia versión. Si es /Library/Frameworks/Python.framework/Versions/2.7/bin/python , puede llamar directamente:

sudo python `which pip` install scikit-learn --upgrade

Sin embargo, hay muchas posibilidades de que no funcione. La razón es que sudo está restableciendo todas las variables de su entorno. Para que funcione, lo más fácil sería usar:

sudo -E pip install scikit-learn --upgrade

o

sudo -E python `which pip` install scikit-learn --upgrade

dependiendo de tu configuración

2 - Lo que debes hacer

pip no fue pensado como algo que la root debe ejecutar. La mejor manera real de usarlo es instalar una versión local, no raíz, de Python. Solo tiene que asegurarse de usarlo de manera predeterminada configurando las variables de entorno correctas (como PATH en Linux) y luego instale pip sin sudo usando esa versión de python.

Una forma aún mejor sería configurar virtualenv s desde su instalación raíz.

De esta forma, puedes instalar / actualizar lo que quieras sin privilegios de root y nunca más molestarte sobre por qué sudo pip no funciona. También evitaría proporcionar privilegios de raíz a lo que está en Pypi y eso garantizaría que no mezcle las librerías del sistema con las suyas.


Estoy totalmente de acuerdo con los muchachos, es mejor usar virtualenv para que pueda establecer un entorno personalizado para cada proyecto. Es ideal para el mantenimiento porque es como un mundo diferente para cada proyecto y cada actualización de una aplicación que realice no interferirá con otros proyectos.

Aquí puede encontrar una síntesis de virtualenv relacionada con la instalación y los primeros pasos.


De los comentarios a la pregunta original, parece que tienes múltiples versiones de Python instaladas, y esa pepita simplemente va a la versión incorrecta.

En primer lugar, para saber qué versión de Python estás usando, simplemente escribe which python . Usted debe ver:

which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python

si vas a la versión correcta de python, o:

which python /usr/bin/python

Si vas a la versión "incorrecta". Para hacer que pip vaya a la versión correcta, primero debe cambiar la ruta:

export PATH=/Library/Frameworks/Python.framework/Versions/2.7/bin/python:${PATH}

teclear ''which python'' te llevaría al resultado correcto. A continuación, instale pip (si aún no está instalado para esta instalación de python). Finalmente, úsalo. deberías estar bien ahora.


Asegúrate de que la versión de pepita coincide con tu versión de Python.

para usar tu versión de Python:

python -V

luego instala la pipa correcta. Es posible que ya tenga intall en ese caso intente usar:

instalación de pip-2.5 ...

instalación de pip-2.7 ...

o para aquellos de ustedes que usan macports, asegúrese de que su versión coincida con.

puerto seleccionar --list pip

luego cambie a la misma versión de Python que está usando.

Selección del puerto sudo --set pip pip27

Espero que esto ayude. Funciona en mi extremo.


Esto es lo que funcionó para mí en Windows. La causa de las múltiples instalaciones de Python

  1. actualizar ruta con python correcto
  2. desinstalar pip usando python -m pip uninstall pip setuptools
  3. reiniciar Windows no funcionó hasta que se reinició


Debe desinstalar el python existente y luego descargar la nueva versión.


Virtualenv es tu amigo

Incluso si desea agregar un paquete a su instalación principal, lo mejor es hacerlo primero en un entorno virtual, para garantizar la compatibilidad con sus otros paquetes. Sin embargo, si te familiarizas con virtualenv, probablemente encontrarás que realmente no hay razón para instalar nada en tu instalación base.