Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

152
Vistas
Cómo importar requisitos.txt de un proyecto existente usando Poetry

Estoy probando poesía en un proyecto existente. Usó pyenv y virtual env originalmente, así que tengo un archivo requirements.txt con las dependencias del proyecto.

Quiero importar el archivo requirements.txt usando Poetry, para poder cargar las dependencias por primera vez. He revisado la documentación de la poesía, pero no he encontrado una manera de hacer esto. ¿Usted me podría ayudar?

Sé que puedo agregar todos los paquetes manualmente, pero esperaba un proceso más automatizado, porque hay muchos paquetes...

over 4 years ago · Santiago Trujillo
10 Respuestas
Responde la pregunta

0

Aquí hay uno que funciona si tiene # comentarios (al comienzo de una línea o al final de una línea) en su archivo de requisitos:

 poetry add $(sed -e 's/#.*//' -e '/^$/ d' < requirements.txt)

https://www.grymoire.com/Unix/Sed.html#uh-30

over 4 years ago · Santiago Trujillo Denunciar

0

Encontré que ninguna de estas respuestas era suficiente, así que creé una propia:

https://github.com/src-rr/python-estrofa

Es un bebé nuevo, por lo que las contribuciones son bienvenidas, pero hasta ahora es muy fácil de usar:

  • detecta automáticamente un setup.py y obtiene información del proyecto
  • permite especificar múltiples archivos requirements.txt para dependencias de desarrollo o dependencias normales
  • permite sobrescribir el nombre y la versión.
  • también agrega requisitos a los que se hace referencia (p. ej -r ./special-requirements.txt ) si está incluido en un archivo de requisitos.
over 4 years ago · Santiago Trujillo Denunciar

0

Para PowerShell:

 $reqs = @(cat requirements.txt) for($i = 0; $i -lt $reqs.length; $i++){poetry add $reqs[i]}

Tenga en cuenta que esto no ignorará los comentarios ni nada más en el archivo de requisitos. Esto es estrictamente tomarlo como texto sin procesar, por lo que espera que cada línea sea un paquete.

over 4 years ago · Santiago Trujillo Denunciar

0

Un trazador de líneas:

cat requirements.txt | grep -E '^[^# ]' | cut -d= -f1 | xargs -n 1 echo poetry add

over 4 years ago · Santiago Trujillo Denunciar

0

poetry no apoya esto directamente. Pero si tiene una lista hecha a mano de los paquetes requeridos (en el mejor de los casos sin números de versión), que solo contienen las dependencias principales y no las dependencias de una dependencia, podría hacer esto:

 $ cat requirements.txt | xargs poetry add
over 4 years ago · Santiago Trujillo Denunciar

0

El mejor método que he encontrado es este:

 $ for item in $(cat requirements.txt); do poetry add "${item}"; done
over 4 years ago · Santiago Trujillo Denunciar

0

No tengo suficiente reputación para comentar, pero una mejora de la respuesta de @Liang es omitir el eco y llamar poesía en sí.

cat requirements.txt | grep -E '^[^# ]' | cut -d= -f1 | xargs -n 1 poetry add

En mi caso, esto agregó con éxito paquetes al archivo pyproject.toml .

Como referencia, este es un fragmento de mi archivo requirements.txt :

 pytz==2020.1 # https://github.com/stub42/pytz python-slugify==4.0.1 # https://github.com/un33k/python-slugify Pillow==7.2.0 # https://github.com/python-pillow/Pillow

y al llamar cat requirements.txt | grep -E '^[^# ]' | cut -d= -f1 (tenga en cuenta la omisión de xargs -n 1 poetry add agregada para demostración) generará lo siguiente:

 pytz python-slugify Pillow # NOTE: this will install the latest package - you may or may not want this.

Agregar dependencias de desarrollo es tan simple como agregar el argumento -D o --dev .

 # dev dependancies example cat requirements-dev.txt | grep -E '^[^# ]' | cut -d= -f1 | xargs -n 1 poetry add -D

Por último, si sus requisitos de desarrollo se instalan desde un archivo de requisitos principal, por ejemplo:

 -r base.txt package1 package2

Luego, esto generará errores cuando se ejecute la poesía, sin embargo, continuará más allá de la línea -r base.txt e instalará los paquetes como se esperaba.

Probado en Linux manjaro con poesía instalada como se indica aquí .

over 4 years ago · Santiago Trujillo Denunciar

0

Aprecio que esto pueda ser un poco tarde, pero puedes usar

 poetry add $( cat requirements.txt )
over 4 years ago · Santiago Trujillo Denunciar

0

Simplemente use los requisitos simples.txt y filtre los números de versión con awk:

 awk -F '==' '{print $1}' requirements.txt | xargs -n1 poetry add

-F especifica un filtro o punto de división. $1 es el primer argumento de la división. El archivo de entrada viene como último argumento. Luego, puede canalizarlo a la poetry add usando xargs -n 1 para llamar a la poetry add con cada línea consecutivamente y no con una cadena separada por espacios a la vez. Si desea consumir todas las entradas a la vez, simplemente omita -n 1 . También asegúrese de que ya esté presente un ambiente de poesía.

Para consumir solo los requisitos.txt, omita el filtro y use

 awk '{print $1}' requirements.txt | xargs -n1 poetry add

Pero otras herramientas como cat también están bien para ese caso.

over 4 years ago · Santiago Trujillo Denunciar

0

Esto es al revés de la poesía.

 poetry export -f requirements.txt --without-hashes > requirements.txt
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda