Tengo virtualenv y virtualenvwrapper instalados en un servidor Linux compartido con configuraciones predeterminadas (virtualenvs están en ~/.virtualenvs). Tengo varios scripts de Python que solo se pueden ejecutar cuando se activa el virtualenv correcto.Compartir scripts que requieren que se active un virtualenv
Ahora quiero cuota de esos guiones con otros usuarios en el servidor, pero sin que tengan que saber nada acerca de virtualenv ... para que puedan correr python scriptname
o ./scriptname
y la secuencia de comandos se ejecutará con las bibliotecas disponibles en mi virtualenv.
¿Cuál es la forma más limpia de hacer esto? He jugado con algunas opciones (como cambiar la línea shebang para apuntar al intérprete proporcionado virtualenv), pero parecen bastante inflexibles. ¿Alguna sugerencia?
Editar: Este es un servidor de desarrollo, donde varias personas tienen cuentas. Sin embargo, ninguno de ellos son programadores de Python (actualmente estoy tratando de convertirlos). Solo quiero que sea más fácil para ellos ejecutar estos scripts y posiblemente inspeccionar su lógica, sin exponer a los no Pythonistas a los detalles del entorno. Gracias.
Un virtualenv es para las necesidades del desarrollador. Para probar cosas en un entorno aislado, probar dependencias, etc. Si lo distribuye, debe poder empaquetarlo como cualquier otro script/módulo de python y no requerir un virtualenv de su parte. ¿Qué hay en el virtualenv que es específico de este script que no se puede hacer en todo el sistema para un usuario final? – Rick
@rharding - No estoy implementando las secuencias de comandos, solo poniéndolas a disposición de otros usuarios en el servidor. – Mzzzzzz
Por favor, considere aceptar la respuesta de Chris Dukes, la que proporciona jcdyer no responde al problema (y el autor estuvo de acuerdo en que no es una buena respuesta), mientras que la otra explica el problema más una referencia rápida al virtualenv shebang - pregunta que estaba tratando de responder al encontrar este tema. Puede ayudar a otros aceptando la respuesta más votada. Gracias. – mpiskore