.yml no instala paquetes de .requirements.txt en el entorno dedicado

Resuelto TourEiffel asked hace 54 años • 0 respuestas

Tengo lo siguiente que debería instalar paquetes desde requirements.txtel entorno Env_Nameque se acaba de crear

- script: |
    python -m venv Env_Name
    cd Env_Name
    .\scripts\Activate
  displayName: 'Create & Activate Env_Name '

- script: |
    python -m pip install --upgrade pip
  displayName: 'Install dependencies'

- script: |
    pip install wheel
  displayName: 'Wheel install' 

- script: |
    pip install python_ldap-3.4.0-cp311-cp311-win_amd64.whl
  displayName: 'Install ldap from wheel' 

- script: |
    type requirements.txt
  displayName: 'display the content of the requirements file'

- script: |
    pip install -r requirements.txt -v
  displayName: 'packages installation'

- script: |
    pip list
  displayName: 'Display packages'

- script: |
    python setup.py sdist
  displayName: 'Artifact creation'

- task: CopyFiles@2
  inputs:
    targetFolder: $(Build.ArtifactStagingDirectory)

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'My_App'
    publishLocation: 'Container'

mostrar paquetes muestra que los paquetes se han instalado:

pip list
========================== Starting Command Output ===========================
"C:\Windows\system32\cmd.exe" /D /E:ON /V:OFF /S /C "CALL "D:\a\_temp\f53d2436-67e2-4d6f-bf00-e90e1dfcb18c.cmd""
Package              Version
-------------------- ------------
asgiref              3.7.2
beautifulsoup4       4.12.2
certifi              2023.7.22
cffi                 1.15.1
charset-normalizer   3.2.0
contourpy            1.1.1
cryptography         41.0.3
cx_Oracle            8.3.0
cycler               0.11.0
Django               4.2.5
django-adminlte3     0.1.6
django-auth-ldap     4.6.0
django-mssql-backend 2.8.1
et-xmlfile           1.1.0
fonttools            4.42.1
idna                 3.4
joblib               1.3.2
kiwisolver           1.4.5
lxml                 4.9.3

pero al mirar la carpeta env solo puedo ver en los paquetes del sitio:

ingrese la descripción de la imagen aquí

Como podemos ver, no hay paquetes de requisitos.txt. Entonces la pregunta es:

¿Dónde están instalados todos estos paquetes? ¿Existe algún script que pueda usarse para mostrar la ruta de la carpeta donde se encuentran?

¿ Cómo los instalo Env_Name?

TourEiffel avatar Jan 01 '70 08:01 TourEiffel
Aceptado

¿Dónde están instalados todos estos paquetes? ¿Existe algún script que pueda usarse para mostrar la ruta de la carpeta donde se encuentran?

En Azure DevOps, los paquetes de Python se instalarán en la ruta predeterminada del sistema.

Podemos usar el siguiente script para obtener la ruta del sistema:

python -m site

Verifique el valor de sys.path y busque la ruta de los paquetes del sitio .

O puede usar el comando para obtener la ruta de instalación del paquete de destino:

pip show packagename

Por ejemplo:

ingrese la descripción de la imagen aquí

¿Cómo los instalo en Env_Name?

Para instalar los paquetes en Env_Name, puede agregar el argumento:--target="Env_Name/lib/site-packages"

Aquí hay un ejemplo:

- script: |
    python -m venv Env_Name
    cd Env_Name
    .\scripts\Activate
  displayName: 'Create & Activate Env_Name '

- script: |
    python -m pip install --upgrade pip
  displayName: 'Install dependencies'

- script: |
    pip install wheel
  displayName: 'Wheel install' 

- script: |
    pip install python_ldap-3.4.0-cp311-cp311-win_amd64.whl
  displayName: 'Install ldap from wheel' 

- script: |
    type requirements.txt
  displayName: 'display the content of the requirements file'

- script: |
    pip install -r requirements.txt -v --target="Env_Name/lib/site-packages"
  displayName: 'packages installation'

....

Resultado:

ingrese la descripción de la imagen aquí

Kevin Lu-MSFT avatar Feb 19 '2024 07:02 Kevin Lu-MSFT

Cada scriptbloque suele ejecutarse en un shell independiente y restablece el entorno entre scripts; instálelo requirements.txten el mismo scriptbloque en el que crea y activa el entorno.

thetaco avatar Feb 16 '2024 20:02 thetaco