entorno - virtualenv python windows
Compartir scripts que requieren un virtualenv para ser activado (3)
Si solo está en un servidor, entonces la flexibilidad es irrelevante. Modificar el shebang Si le preocupa eso, haga una copia empaquetada e instalada en el servidor de desarrollo que no use el virtualenv. Una vez que está fuera de desarrollo, ya sea para usuarios locales o usuarios en Guatemala, virtualenv ya no es la herramienta adecuada.
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.
Ahora quiero compartir esas secuencias de comandos con otros usuarios en el servidor, pero sin que tengan que saber nada sobre virtualenv ... para que puedan ejecutar 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 otras 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.
Use la siguiente magia (5) al comienzo de la secuencia de comandos.
#!/usr/bin/env python
Cambia qué virtualenv está activo y usará el pitón de ese virtualenv. Desactivar el virtualenv, todavía se ejecuta.
Yo votaría por agregar una línea shebang en el nombre del scriptname
apunte al virtualenv python correcto. Simplemente diga a sus usuarios la ruta completa al scriptname
(o póngalo en su RUTA), y ni siquiera necesitan saber que es un script de Python.
Si tus usuarios son programadores, entonces no veo por qué no quieres que ellos sepan / aprendan sobre virtualenv.