Así que, una vez más, hago un buen programa de python que hace mi vida mucho más fácil y ahorra mucho tiempo. Por supuesto, esto implica un virtualenv, hecho con la función mkvirtualenv
de virtualenvwrapper. El proyecto tiene un archivo requirements.txt con algunas bibliotecas necesarias (también solicitudes: D) y el programa no se ejecutará sin estas bibliotecas.virtualenvwrapper funciones no disponibles en scripts de shell
Estoy tratando de agregar un script de shell ejecutable bin/run-app
que estaría en mi camino (enlace simbólico en realidad). Ahora, dentro de este script, necesito cambiar al virtualenv antes de poder ejecutar este programa. Por lo que poner esto en
#!/bin/bash
# cd into the project directory
workon "$(cat .venv)"
python main.py
Un archivo .venv
contiene el nombre virtualenv. Pero cuando ejecuto este script, obtengo el error workon: command not found
.
Por supuesto, tengo virtualenvwrapper.sh en mi bashrc pero no parece estar disponible en este script de shell.
Entonces, ¿cómo puedo acceder a esas funciones virtualenvwrapper aquí? ¿O estoy haciendo esto de la manera incorrecta? ¿Cómo lanzas tus herramientas de python, cada una de ellas tiene su propio virtualenv?
Esto requiere una codificación rigurosa de la ubicación de los scripts virtualenvwrapper.sh, que depende del sistema operativo, entre muchas otras cosas. –
@ShrikantSharat, como esto es solo una forma más fácil de ejecutar scripts en virtualenv (solo en tu sistema), realmente no debería ser un problema, ¿o sí? Si desea distribuir su código, dudo que le pida a los usuarios que instalen virtualenv y creen uno, simplemente le daría una lista de dependencias para instalar. – MatToufoutu
Los * usuarios * serían mis amigos techy que también querrían un virtualenv para las dependencias de este programa. No tengo que pedirles que lo hagan;) –