txt python3 instalar from python pip

instalar - python3 install requirements txt



Instale un paquete y escriba en requirements.txt con pip (3)

Escribí la siguiente función bash que uso;

function pip-save() { for pkg in $@; do pip install "$pkg" && { name="$(pip show "$pkg" | grep Name: | awk ''{print $2}'')"; version="$(pip show "$pkg" | grep Version: | awk ''{print $2}'')"; echo "${name}==${version}" >> requirements.txt; } done }

Esto guarda el nombre del paquete canónico en los requisitos, así como la versión instalada. Ejemplo de uso;

$ pip-save channels asgi_redis # will save the following to requirements.txt (as of writing): # --- # channels==1.0.1 # asgi-redis==1.0.0 # --- # note how asgi_redis is translated to its canonical name `asgi-redis`

Estoy buscando una forma de instalar un paquete con pip, y escribir la información de la versión de ese paquete en el archivo requirements.txt de mi proyecto. Para aquellos familiarizados con npm , es esencialmente lo que npm install --save .

Utilizar pip freeze > requirements.txt funciona muy bien, pero he descubierto que me olvidé de ejecutar esto, o puedo incluir accidentalmente paquetes no utilizados que había instalado para probar pero que decidí no usar.

Entonces el siguiente psuedocode:

$ pip install nose2 --save

Daría como resultado un archivo requirements.txt con:

nose2==0.4.7

Supongo que podría pagar la salida de guardar para tomar los números de la versión, pero espero que haya una manera más fácil.


Para obtener la información de la versión, puedes usar la congelación de pip de manera selectiva después de la instalación. Aquí hay una función que debe hacer lo que está pidiendo:

pip_install_save() { package_name=$1 requirements_file=$2 if [[ -z $requirements_file ]] then requirements_file=''./requirements.txt'' fi pip install $package_name && pip freeze | grep -i $package_name >> $requirements_file }

Tenga en cuenta el comando -i al grep. Pip no distingue entre mayúsculas y minúsculas con los nombres de los paquetes, por lo que probablemente querrás eso.


Solo agrega smth como

function pips() { echo $''/n''$1 >> requirements.txt; pip install $1 }

en su .bashrc o .bash_profile y use el comando pips para instalar el paquete y guardarlo en el ejemplo de requirements.txt:

pips django-waffle

basado en el comentario de Akash Kothawale :)