Tengo un script que quiero que esté disponible globalmente. He empezado con la norma Hashbang:Ejecutar el script de python desde el interior del contenedor virtualenv no funciona
#! /usr/bin/env python
y vinculado en el directorio bin de mi virtualenv:
~/environments/project/env/bin/myscript
y ha añadido ese directorio a mi camino. Cuando ejecuto el comando:
myscript
Aparece un error de importación con una de las bibliotecas. Sin embargo, si activo el entorno virtual y ejecuto el script, funciona como se esperaba.
He descartado un problema con el enlace simbólico (también intenté simplemente mover el script dentro de la carpeta bin). También he intentado ejecutar el script con el pitón
python ~/environments/project/env/bin/myscript
Anteriormente yo estaba usando un script que activa el medio ambiente y luego corrió mi guión, pero yo tenía la impresión de que la secuencia de comandos ejecutada desde esta carpeta debe correr con los de virtualenv intérprete y paquetes de sitios. ¿Alguna idea de por qué esto podría no estar funcionando o de alguna manera podría depurar esto?
No relacionado con su pregunta: aunque la mayoría de las conchas lo ignoran, ¡usando '#!/'es estrictamente incorrecto, ya que el espacio debe considerarse parte del camino del programa. Suelta el espacio y estás a salvo. – kay