Estoy trabajando en mac OS X Yosemite, versión 10.10.3.
Instalé python2.7 y pip usando macport como se hizo en http://johnlaudun.org/20150512-installing-and-setting-pip-with-macports/
Puedo instalar paquetes con éxito e importarlos dentro de mi entorno de Python y scripts de Python. Sin embargo, no se encuentra ningún ejecutable asociado con un paquete que se pueda llamar desde la línea de comando en la terminal.
¿Alguien sabe qué podría estar mal? (Más detalles a continuación)
Por ejemplo, al instalar un paquete llamado "rosdep" como se indica en http://wiki.ros.org/jade/Installation/Source
Puedo ejecutar: sudo pip install -U rosdep
que se instala sin errores y los archivos correspondientes se encuentran en/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Sin embargo, si intento ejecutar:, sudo rosdep initda un error:"sudo: rosdep: command not found"
Este no es un error específico del paquete. Obtengo esto para cualquier paquete instalado usando pip en mi computadora. Incluso intenté agregar
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
a mi $PATH. Pero los ejecutables no se encuentran en la línea de comandos, a pesar de que los paquetes funcionan perfectamente desde python.

Respuestas:
revisa tu $ PATH
toxtiene un modo de línea de comando:¿Dónde está?
(editar: las
2.7cosas no importan mucho aquí, sub en cualquiera3.xy pip se comporta de la misma manera)y que hay en mi $ PATH?
¿Observa el /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin ? Eso es lo que permite encontrar mis cosas instaladas con pip
Ahora, para ver dónde están las cosas desde Python, trate de hacer esto (sustituto
rosdepparatox).que imprime:
Ahora, vaya al directorio que está justo encima
libde lo anterior. ¿Ves un directorio bin ? ¿Vesrosdepen esa papelera? Si es así, intente agregarbina su $ PATH.salida:
fuente
rosdepes consistente con su problema. mi punto es que necesita encontrar dónderosdepestá instalado y cómo se ve $ PATH.which(si aún no está en su camino), también puede intentar encontrar el binario usandomlocateLinux omdfindmacOS.En macOS con la instalación de Python predeterminada, debe agregar
/Users/<you>/Library/Python/2.7/bin/a su $ PATH.Agregue esto a su .bash_profile:
Ahí es donde pip instala los ejecutables.
Consejo: Para la versión de Python no predeterminada,
which pythonbusque la ubicación de su instalación de Python y reemplace esa parte en la ruta anterior. (Gracias por la pista Sanket_Diwale)fuente
which python3finalmente me llevó (a través de un enlace) a/Library/Frameworks/Python.framework/Versions/3.6/bin/.Si está instalando usando
--user(ppip3.6 install --user tmuxp. Ej. ), Es posible obtener el directorio de instalación del usuario específico de la plataforma desde Python usando elsitemódulo . Por ejemplo, en macOS:Añadiendo
/bina esto, ahora tenemos la ruta donde se instalarán los ejecutables del paquete. Podemos rellenar dinámicamente la RUTA en el archivo rc de su shell en función de la salida; Estoy usando bash, pero con suerte, esto es portátil:Utilizo las versiones precisas de Python para reducir la posibilidad de que los ejecutables simplemente "desaparezcan" cuando Python actualiza una versión menor, por ejemplo, de 3.5 a 3.6. Desaparecerán porque, como se puede ver arriba, la ruta de instalación del usuario puede incluir la versión de Python. Entonces, aunque
python3podría apuntar a 3.5 o 3.6,python3.6siempre apuntará a 3.6. Esto debe tenerse en cuenta al instalar más paquetes, por ejemplo, usepip3.6overpip3.Si no le importa la idea de que los paquetes desaparezcan, puede usar
python2y en supython3lugar:fuente
Sé que la pregunta es sobre macOS, pero aquí hay una solución para los usuarios de Linux que llegan aquí a través de Google.
Estaba teniendo el problema descrito en esta pregunta, habiendo instalado el paquete pdfx a través de pip.
Sin embargo, cuando lo ejecuté, nada ...
Todavía:
El problema en Linux es que
pip install ...suelta scripts~/.local/biny esto no está en Debian / Ubuntu predeterminado$PATH.Aquí hay un problema de GitHub que entra en más detalles: https://github.com/pypa/pip/issues/3813
Para solucionarlo, simplemente agregue
~/.local/bina su$PATH, por ejemplo, agregando la siguiente línea a su.bashrcarchivo:Después de eso, reinicie su shell y las cosas deberían funcionar como se esperaba.
fuente
source ~/.bashrcvolver a cargar la.bashrcconfiguraciónSolución
Según otras respuestas, para
linuxymacpuede ejecutar lo siguiente:en lugar de
python3que puede utilizar cualquier otro enlace a la versión Python:python,python2.7,python3.6,python3.9, etc.Explicación
Para saber dónde están instalados los paquetes de usuario en el sistema operativo actual (win, mac, linux), ejecutamos:
Sabemos que los scripts van a la
bin/carpeta donde están instalados los paquetes.Entonces concatenamos los caminos:
Luego exportamos eso a una variable de entorno.
Finalmente, para evitar repetir el comando de exportación lo agregamos a nuestro
.bashrcarchivo y ejecutamossourcepara ejecutar los nuevos cambios, dándonos la solución sugerida mencionada al principio.fuente
En Windows, debe agregar la ruta
%USERPROFILE%\AppData\Roaming\Python\Scriptsa su ruta.fuente
Me encontré con esta pregunta porque creé, construí y publiqué con éxito un paquete PyPI, pero no pude ejecutarlo después de la instalación. La
$PATHvariable se estableció correctamente.En mi caso, el problema era que no había configurado el
entry_pointen elsetup.pyarchivo:fuente
Además de agregar el
bindirectorio de Python a la$PATHvariable, también tuve que cambiar el propietario de ese directorio para que funcione. No tengo idea de por qué ya no era el dueño.fuente
Cuando instala Python o Python3 usando el instalador de MacOS (descargado del sitio web de Python), agrega una
exporter a su~/.profilesecuencia de comandos. Todo lo que necesita hacer essourcehacerlo. Reiniciar todos los terminales también debería funcionar.ADVERTENCIA: creo que es mejor usar pip3 con Python3 para obtener beneficios futuros.
Si ya tiene Python3 instalado, los siguientes pasos me funcionan en macOS Mojave:
Instale ansible primero usando
sudo-sudo -H pip3 install ansiblecreas un enlace simbólico a la
binruta de Pythonsudo ln -s /Library/Frameworks/Python.framework/Versions/Current/bin /Library/Frameworks/Python.framework/current_python_biny engraparlo a
.profileexport PATH=$PATH:/Library/Frameworks/Python.framework/current_python_binejecute
source ~/.profiley reinicie todos los shells de terminal.Tipo
ansible --versionfuente