microsoft / Oryx

Build your repo automatically.
Other
769 stars 176 forks source link

Python package not available at Web Application startup despite successful Oryx build #2491

Open djmeck opened 3 months ago

djmeck commented 3 months ago

Bug Report

I am experiencing the problem right now.

I am experiencing the problem on Azure Web Apps.

It is not.

The Python module psycopg2 is not available during web application startup, despite Oryx installing the package into the virtual environment successfully. Using the Kudu Bash web UI, I can see all the packages installed into the antenv in the /tmp/_preCompressedDestinationDir, which according to the logs is compressed and moved to /home/site/wwwroot/output.tar.gz. I can download this file and verify the package is installed there. This is the archive that according to the logs is used by the web application at startup time.

I want the package that is installed into the antenv to be available to the web application at startup.

Linux App Service with Python 3.11 runtime, with the following requirements:

alembic==1.13.2; python_version >= '3.8'
annotated-types==0.7.0; python_version >= '3.8'
blinker==1.8.2; python_version >= '3.8'
certifi==2024.7.4; python_version >= '3.6'
charset-normalizer==3.3.2; python_full_version >= '3.7.0'
click==8.1.7; python_version >= '3.7'
dnspython==2.6.1; python_version >= '3.8'
email-validator==2.2.0
faker==27.4.0; python_version >= '3.8'
flask==3.0.3; python_version >= '3.8'
flask-openapi3==4.0.0rc2; python_version >= '3.8'
greenlet==3.0.3; python_version < '3.13' and (platform_machine == 'aarch64' or (platform_machine == 'ppc64le' or (platform_machine == 'x86_64' or (platform_machine == 'amd64' or (platform_machine == 'AMD64' or (platform_machine == 'win32' or platform_machine == 'WIN32'))))))
idna==3.7; python_version >= '3.5'
itsdangerous==2.2.0; python_version >= '3.8'
jinja2==3.1.4; python_version >= '3.7'
mako==1.3.5; python_version >= '3.8'
markupsafe==2.1.5; python_version >= '3.7'
numpy==1.26.4; python_version >= '3.9'
pandas==1.5.3; python_version >= '3.8'
psycopg==3.2.1; python_version >= '3.8'
pydantic[email]==2.8.2; python_version >= '3.8'
pydantic-core==2.20.1; python_version >= '3.8'
pydantic-settings==2.4.0; python_version >= '3.8'
python-dateutil==2.9.0.post0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'
python-dotenv==1.0.1; python_version >= '3.8'
pytz==2024.1
pyyaml==6.0.2; python_version >= '3.8'
requests==2.32.3; python_version >= '3.8'
six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'
sqlalchemy==2.0.32; python_version >= '3.7'
typing-extensions==4.12.2; python_version >= '3.8'
urllib3==2.2.2; python_version >= '3.8'
werkzeug==3.0.4; python_version >= '3.8'

The Oryx build log showing the successful installation of all packages listed in my requirements.txt:

2024-08-23T18:43:09  Fetching changes.
2024-08-23T18:43:09    Cleaning up temp folders from previous zip deployments and extracting pushed zip file /tmp/zipdeploy/ec3cd1ca-58c0-488c-97e7-7769c1f5dcb9.zip (0.04 MB) to /tmp/zipdeploy/extracted
2024-08-23T18:43:13  Updating submodules.
2024-08-23T18:43:13  Preparing deployment for commit id 'b001bb80-5'.
2024-08-23T18:43:13  PreDeployment: context.CleanOutputPath False
2024-08-23T18:43:13  PreDeployment: context.OutputPath /home/site/wwwroot
2024-08-23T18:43:13  Repository path is /tmp/zipdeploy/extracted
2024-08-23T18:43:13  Running oryx build...
2024-08-23T18:43:13    Command: oryx build /tmp/zipdeploy/extracted -o /home/site/wwwroot --platform python --platform-version 3.11 -p virtualenv_name=antenv --log-file /tmp/build-debug.log  -i /tmp/8dcc3a371832e27 --compress-destination-dir | tee /tmp/oryx-build.log
2024-08-23T18:43:13    Operation performed by Microsoft Oryx, https://github.com/Microsoft/Oryx
2024-08-23T18:43:13    You can report issues at https://github.com/Microsoft/Oryx/issues
2024-08-23T18:43:13    
2024-08-23T18:43:13    Oryx Version: 0.2.20240424.1, Commit: d37b2225a252ab2c04b4726024d047cf01ea1318, ReleaseTagName: 20240424.1
2024-08-23T18:43:13    
2024-08-23T18:43:13    Build Operation ID: 68a2607b8628832e
2024-08-23T18:43:13    Repository Commit : b001bb80-5791-4554-9717-e9ad69ad9b15
2024-08-23T18:43:13    OS Type           : bullseye
2024-08-23T18:43:13    Image Type        : githubactions
2024-08-23T18:43:13    
2024-08-23T18:43:13    Detecting platforms...
2024-08-23T18:43:14    Detected following platforms:
2024-08-23T18:43:14      python: 3.11.8
2024-08-23T18:43:14    
2024-08-23T18:43:14    Using intermediate directory '/tmp/8dcc3a371832e27'.
2024-08-23T18:43:14    
2024-08-23T18:43:15    Copying files to the intermediate directory...
2024-08-23T18:43:15    Done in 1 sec(s).
2024-08-23T18:43:15    
2024-08-23T18:43:15    Source directory     : /tmp/8dcc3a371832e27
2024-08-23T18:43:15    Destination directory: /home/site/wwwroot
2024-08-23T18:43:15    
2024-08-23T18:43:15    Python Version: /tmp/oryx/platforms/python/3.11.8/bin/python3.11
2024-08-23T18:43:15    Creating directory for command manifest file if it does not exist
2024-08-23T18:43:15    Removing existing manifest file
2024-08-23T18:43:15    Python Virtual Environment: antenv
2024-08-23T18:43:15    Creating virtual environment...
2024-08-23T18:43:18    Activating virtual environment...
2024-08-23T18:43:18    Running pip install...
2024-08-23T18:43:33    [18:43:18+0000] adding trusted host: <REDACTED> (from line 3 of requirements.txt)
2024-08-23T18:43:33    [18:43:18+0000] Looking in indexes: https://pypi.python.org/simple, <REDACTED>
2024-08-23T18:43:33    [18:43:19+0000] Collecting alembic==1.13.2 (from -r requirements.txt (line 4))
2024-08-23T18:43:33    [18:43:19+0000]   Using cached alembic-1.13.2-py3-none-any.whl.metadata (7.4 kB)
2024-08-23T18:43:33    [18:43:19+0000] Collecting annotated-types==0.7.0 (from -r requirements.txt (line 5))
2024-08-23T18:43:33    [18:43:19+0000]   Using cached annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)
2024-08-23T18:43:33    [18:43:19+0000] Collecting blinker==1.8.2 (from -r requirements.txt (line 6))
2024-08-23T18:43:33    [18:43:19+0000]   Using cached blinker-1.8.2-py3-none-any.whl.metadata (1.6 kB)
2024-08-23T18:43:33    [18:43:19+0000] Collecting certifi==2024.7.4 (from -r requirements.txt (line 7))
2024-08-23T18:43:33    [18:43:19+0000]   Using cached certifi-2024.7.4-py3-none-any.whl.metadata (2.2 kB)
2024-08-23T18:43:33    [18:43:19+0000] Collecting charset-normalizer==3.3.2 (from -r requirements.txt (line 8))
2024-08-23T18:43:33    [18:43:19+0000]   Using cached charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (33 kB)
2024-08-23T18:43:33    [18:43:19+0000] Collecting click==8.1.7 (from -r requirements.txt (line 9))
2024-08-23T18:43:33    [18:43:19+0000]   Using cached click-8.1.7-py3-none-any.whl.metadata (3.0 kB)
2024-08-23T18:43:33    [18:43:19+0000] Collecting dnspython==2.6.1 (from -r requirements.txt (line 10))
2024-08-23T18:43:33    [18:43:19+0000]   Using cached dnspython-2.6.1-py3-none-any.whl.metadata (5.8 kB)
2024-08-23T18:43:33    [18:43:19+0000] Collecting email-validator==2.2.0 (from -r requirements.txt (line 11))
2024-08-23T18:43:33    [18:43:19+0000]   Using cached email_validator-2.2.0-py3-none-any.whl.metadata (25 kB)
2024-08-23T18:43:33    [18:43:19+0000] Collecting faker==27.4.0 (from -r requirements.txt (line 12))
2024-08-23T18:43:33    [18:43:19+0000]   Using cached Faker-27.4.0-py3-none-any.whl.metadata (15 kB)
2024-08-23T18:43:33    [18:43:19+0000] Collecting <REDACTED> (from -r requirements.txt (line 13))
2024-08-23T18:43:33    [18:43:19+0000]   Using cached <REDACTED> (27 kB)
2024-08-23T18:43:33    [18:43:20+0000] Collecting flask==3.0.3 (from -r requirements.txt (line 14))
2024-08-23T18:43:33    [18:43:20+0000]   Using cached flask-3.0.3-py3-none-any.whl.metadata (3.2 kB)
2024-08-23T18:43:33    [18:43:20+0000] Collecting flask-openapi3==4.0.0rc2 (from -r requirements.txt (line 15))
2024-08-23T18:43:33    [18:43:20+0000]   Using cached flask_openapi3-4.0.0rc2-py3-none-any.whl.metadata (8.5 kB)
2024-08-23T18:43:33    [18:43:20+0000] Collecting greenlet==3.0.3 (from -r requirements.txt (line 16))
2024-08-23T18:43:33    [18:43:20+0000]   Using cached greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (3.8 kB)
2024-08-23T18:43:33    [18:43:20+0000] Collecting idna==3.7 (from -r requirements.txt (line 17))
2024-08-23T18:43:33    [18:43:20+0000]   Using cached idna-3.7-py3-none-any.whl.metadata (9.9 kB)
2024-08-23T18:43:33    [18:43:20+0000] Collecting itsdangerous==2.2.0 (from -r requirements.txt (line 18))
2024-08-23T18:43:33    [18:43:20+0000]   Using cached itsdangerous-2.2.0-py3-none-any.whl.metadata (1.9 kB)
2024-08-23T18:43:33    [18:43:20+0000] Collecting jinja2==3.1.4 (from -r requirements.txt (line 19))
2024-08-23T18:43:33    [18:43:20+0000]   Using cached jinja2-3.1.4-py3-none-any.whl.metadata (2.6 kB)
2024-08-23T18:43:33    [18:43:20+0000] Collecting mako==1.3.5 (from -r requirements.txt (line 20))
2024-08-23T18:43:33    [18:43:20+0000]   Using cached Mako-1.3.5-py3-none-any.whl.metadata (2.9 kB)
2024-08-23T18:43:33    [18:43:20+0000] Collecting markupsafe==2.1.5 (from -r requirements.txt (line 21))
2024-08-23T18:43:33    [18:43:20+0000]   Using cached MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.0 kB)
2024-08-23T18:43:33    [18:43:20+0000] Collecting numpy==1.26.4 (from -r requirements.txt (line 22))
2024-08-23T18:43:33    [18:43:20+0000]   Using cached numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)
2024-08-23T18:43:33    [18:43:20+0000] Collecting pandas==1.5.3 (from -r requirements.txt (line 23))
2024-08-23T18:43:33    [18:43:20+0000]   Using cached pandas-1.5.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
2024-08-23T18:43:33    [18:43:21+0000] Collecting psycopg==3.2.1 (from -r requirements.txt (line 24))
2024-08-23T18:43:33    [18:43:21+0000]   Using cached psycopg-3.2.1-py3-none-any.whl.metadata (4.2 kB)
2024-08-23T18:43:33    [18:43:21+0000] Collecting pydantic==2.8.2 (from pydantic[email]==2.8.2->-r requirements.txt (line 25))
2024-08-23T18:43:33    [18:43:21+0000]   Using cached pydantic-2.8.2-py3-none-any.whl.metadata (125 kB)
2024-08-23T18:43:33    [18:43:21+0000] Collecting pydantic-core==2.20.1 (from -r requirements.txt (line 26))
2024-08-23T18:43:33    [18:43:21+0000]   Using cached pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)
2024-08-23T18:43:33    [18:43:21+0000] Collecting pydantic-settings==2.4.0 (from -r requirements.txt (line 27))
2024-08-23T18:43:33    [18:43:21+0000]   Using cached pydantic_settings-2.4.0-py3-none-any.whl.metadata (3.5 kB)
2024-08-23T18:43:33    [18:43:21+0000] Collecting python-dateutil==2.9.0.post0 (from -r requirements.txt (line 28))
2024-08-23T18:43:33    [18:43:21+0000]   Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
2024-08-23T18:43:33    [18:43:21+0000] Collecting python-dotenv==1.0.1 (from -r requirements.txt (line 29))
2024-08-23T18:43:33    [18:43:21+0000]   Using cached python_dotenv-1.0.1-py3-none-any.whl.metadata (23 kB)
2024-08-23T18:43:33    [18:43:22+0000] Collecting pytz==2024.1 (from -r requirements.txt (line 30))
2024-08-23T18:43:33    [18:43:22+0000]   Using cached pytz-2024.1-py2.py3-none-any.whl.metadata (22 kB)
2024-08-23T18:43:33    [18:43:22+0000] Collecting pyyaml==6.0.2 (from -r requirements.txt (line 31))
2024-08-23T18:43:33    [18:43:22+0000]   Using cached PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)
2024-08-23T18:43:33    [18:43:22+0000] Collecting requests==2.32.3 (from -r requirements.txt (line 32))
2024-08-23T18:43:33    [18:43:22+0000]   Using cached requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)
2024-08-23T18:43:33    [18:43:22+0000] Collecting six==1.16.0 (from -r requirements.txt (line 33))
2024-08-23T18:43:33    [18:43:22+0000]   Using cached six-1.16.0-py2.py3-none-any.whl.metadata (1.8 kB)
2024-08-23T18:43:33    [18:43:22+0000] Collecting sqlalchemy==2.0.32 (from -r requirements.txt (line 34))
2024-08-23T18:43:33    [18:43:22+0000]   Using cached SQLAlchemy-2.0.32-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (9.6 kB)
2024-08-23T18:43:34    [18:43:22+0000] Collecting typing-extensions==4.12.2 (from -r requirements.txt (line 35))
2024-08-23T18:43:34    [18:43:22+0000]   Using cached typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
2024-08-23T18:43:34    [18:43:22+0000] Collecting urllib3==2.2.2 (from -r requirements.txt (line 36))
2024-08-23T18:43:34    [18:43:22+0000]   Using cached urllib3-2.2.2-py3-none-any.whl.metadata (6.4 kB)
2024-08-23T18:43:34    [18:43:22+0000] Collecting werkzeug==3.0.4 (from -r requirements.txt (line 37))
2024-08-23T18:43:34    [18:43:22+0000]   Using cached werkzeug-3.0.4-py3-none-any.whl.metadata (3.7 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached alembic-1.13.2-py3-none-any.whl (232 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached annotated_types-0.7.0-py3-none-any.whl (13 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached blinker-1.8.2-py3-none-any.whl (9.5 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached certifi-2024.7.4-py3-none-any.whl (162 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (140 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached click-8.1.7-py3-none-any.whl (97 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached dnspython-2.6.1-py3-none-any.whl (307 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached email_validator-2.2.0-py3-none-any.whl (33 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached Faker-27.4.0-py3-none-any.whl (1.8 MB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached flask-3.0.3-py3-none-any.whl (101 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached flask_openapi3-4.0.0rc2-py3-none-any.whl (46 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (620 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached idna-3.7-py3-none-any.whl (66 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached itsdangerous-2.2.0-py3-none-any.whl (16 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached jinja2-3.1.4-py3-none-any.whl (133 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached Mako-1.3.5-py3-none-any.whl (78 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (28 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.3 MB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached pandas-1.5.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.0 MB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached psycopg-3.2.1-py3-none-any.whl (197 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached pydantic-2.8.2-py3-none-any.whl (423 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached pydantic_settings-2.4.0-py3-none-any.whl (23 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached python_dotenv-1.0.1-py3-none-any.whl (19 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached pytz-2024.1-py2.py3-none-any.whl (505 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (762 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached requests-2.32.3-py3-none-any.whl (64 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached SQLAlchemy-2.0.32-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached typing_extensions-4.12.2-py3-none-any.whl (37 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached urllib3-2.2.2-py3-none-any.whl (121 kB)
2024-08-23T18:43:34    [18:43:23+0000] Using cached werkzeug-3.0.4-py3-none-any.whl (227 kB)
2024-08-23T18:43:34    [18:43:23+0000] Installing collected packages: pytz, urllib3, typing-extensions, six, pyyaml, python-dotenv, numpy, markupsafe, itsdangerous, idna, greenlet, dnspython, click, charset-normalizer, certifi, blinker, annotated-types, werkzeug, sqlalchemy, requests, python-dateutil, pydantic-core, psycopg, mako, jinja2, email-validator, pydantic, pandas, flask, faker, alembic, pydantic-settings, flask-openapi3, <REDACTED>
2024-08-23T18:43:34    [18:43:32+0000] Successfully installed alembic-1.13.2 annotated-types-0.7.0 blinker-1.8.2 certifi-2024.7.4 charset-normalizer-3.3.2 click-8.1.7 dnspython-2.6.1 email-validator-2.2.0 faker-27.4.0 <REDACTED> flask-3.0.3 flask-openapi3-4.0.0rc2 greenlet-3.0.3 idna-3.7 itsdangerous-2.2.0 jinja2-3.1.4 mako-1.3.5 markupsafe-2.1.5 numpy-1.26.4 pandas-1.5.3 psycopg-3.2.1 pydantic-2.8.2 pydantic-core-2.20.1 pydantic-settings-2.4.0 python-dateutil-2.9.0.post0 python-dotenv-1.0.1 pytz-2024.1 pyyaml-6.0.2 requests-2.32.3 six-1.16.0 sqlalchemy-2.0.32 typing-extensions-4.12.2 urllib3-2.2.2 werkzeug-3.0.4
2024-08-23T18:43:34    
2024-08-23T18:43:34    [notice] A new release of pip is available: 24.0 -> 24.2
2024-08-23T18:43:34    [notice] To update, run: pip install --upgrade pip
2024-08-23T18:43:34    Not a vso image, so not writing build commands
2024-08-23T18:43:34    Preparing output...
2024-08-23T18:43:34    
2024-08-23T18:43:34    Copying files to destination directory '/tmp/_preCompressedDestinationDir'...
2024-08-23T18:43:35    Done in 2 sec(s).
2024-08-23T18:43:35    Compressing content of directory '/tmp/_preCompressedDestinationDir'...
2024-08-23T18:43:46    Copied the compressed output to '/home/site/wwwroot'
2024-08-23T18:43:46    
2024-08-23T18:43:46    Removing existing manifest file
2024-08-23T18:43:46    Creating a manifest file...
2024-08-23T18:43:46    Manifest file created.
2024-08-23T18:43:46    Copying .ostype to manifest output directory.
2024-08-23T18:43:46    
2024-08-23T18:43:46    Done in 32 sec(s).
2024-08-23T18:43:46  Running post deployment command(s)...
2024-08-23T18:43:46  
2024-08-23T18:43:46  Generating summary of Oryx build
2024-08-23T18:43:46  Parsing the build logs
2024-08-23T18:43:46  Found 0 issue(s)
2024-08-23T18:43:46  
2024-08-23T18:43:46  Build Summary :
2024-08-23T18:43:46  ===============
2024-08-23T18:43:46  Errors (0)
2024-08-23T18:43:46  Warnings (0)
2024-08-23T18:43:46  
2024-08-23T18:43:46  Triggering container recycle for OneDeploy by adding/updating restartTrigger.txt to the site root path
2024-08-23T18:43:46  Deployment successful. deployer = OneDeploy deploymentPath = OneDeploy

The web application startup log showing the failure to find the package:


2024-08-23T18:45:47.794799467Z    _____                               
2024-08-23T18:45:47.794827867Z   /  _  \ __________ _________   ____  
2024-08-23T18:45:47.794832767Z  /  /_\  \\___   /  |  \_  __ \_/ __ \ 
2024-08-23T18:45:47.794837267Z /    |    \/    /|  |  /|  | \/\  ___/ 
2024-08-23T18:45:47.794841467Z \____|__  /_____ \____/ |__|    \___  >
2024-08-23T18:45:47.794845467Z         \/      \/                  \/ 
2024-08-23T18:45:47.794849367Z A P P   S E R V I C E   O N   L I N U X
2024-08-23T18:45:47.794853267Z 
2024-08-23T18:45:47.794857367Z Documentation: http://aka.ms/webapp-linux
2024-08-23T18:45:47.794861567Z Python 3.11.8
2024-08-23T18:45:47.794865667Z Note: Any data outside '/home' is not persisted
2024-08-23T18:45:48.280107183Z Starting OpenBSD Secure Shell server: sshd.
2024-08-23T18:45:48.284017278Z WEBSITES_INCLUDE_CLOUD_CERTS is not set to true.
2024-08-23T18:45:48.310539440Z App Command Line not configured, will attempt auto-detect
2024-08-23T18:45:48.310590640Z Launching oryx with: create-script -appPath /home/site/wwwroot -output /opt/startup/startup.sh -virtualEnvName antenv -defaultApp /opt/defaultsite
2024-08-23T18:45:48.314378535Z Found build manifest file at '/home/site/wwwroot/oryx-manifest.toml'. Deserializing it...
2024-08-23T18:45:48.315542333Z Build Operation ID: 68a2607b8628832e
2024-08-23T18:45:48.316126533Z Oryx Version: 0.2.20240501.1, Commit: f83f88d3cfb8bb6d3e2765e1dcd218eb0814a095, ReleaseTagName: 20240501.1
2024-08-23T18:45:48.316144733Z Output is compressed. Extracting it...
2024-08-23T18:45:48.316695232Z Extracting '/home/site/wwwroot/output.tar.gz' to directory '/tmp/8dcc3a371832e27'...
2024-08-23T18:45:50.730334434Z App path is set to '/tmp/8dcc3a371832e27'
2024-08-23T18:45:50.868641439Z Detected an app based on Flask
2024-08-23T18:45:50.869421838Z Generating `gunicorn` command for 'app:app'
2024-08-23T18:45:50.894139503Z Writing output script to '/opt/startup/startup.sh'
2024-08-23T18:45:50.967234501Z Using packages from virtual environment antenv located at /tmp/8dcc3a371832e27/antenv.
2024-08-23T18:45:50.967295300Z Updated PYTHONPATH to '/opt/startup/app_logs:/tmp/8dcc3a371832e27/antenv/lib/python3.11/site-packages'
2024-08-23T18:45:51.147252747Z [2024-08-23 18:45:51 +0000] [72] [INFO] Starting gunicorn 22.0.0
2024-08-23T18:45:51.153246139Z [2024-08-23 18:45:51 +0000] [72] [INFO] Listening at: http://0.0.0.0:8000 (72)
2024-08-23T18:45:51.153267139Z [2024-08-23 18:45:51 +0000] [72] [INFO] Using worker: sync
2024-08-23T18:45:51.156176435Z [2024-08-23 18:45:51 +0000] [75] [INFO] Booting worker with pid: 75
2024-08-23T18:45:54.147837925Z [2024-08-23 18:45:54 +0000] [75] [ERROR] Exception in worker process
2024-08-23T18:45:54.147872725Z Traceback (most recent call last):
2024-08-23T18:45:54.147988325Z   File "/opt/python/3.11.8/lib/python3.11/site-packages/gunicorn/arbiter.py", line 609, in spawn_worker
2024-08-23T18:45:54.148007225Z     worker.init_process()
2024-08-23T18:45:54.148011925Z   File "/opt/python/3.11.8/lib/python3.11/site-packages/gunicorn/workers/base.py", line 134, in init_process
2024-08-23T18:45:54.148016625Z     self.load_wsgi()
2024-08-23T18:45:54.148020625Z   File "/opt/python/3.11.8/lib/python3.11/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
2024-08-23T18:45:54.148025225Z     self.wsgi = self.app.wsgi()
2024-08-23T18:45:54.148029225Z                 ^^^^^^^^^^^^^^^
2024-08-23T18:45:54.148033125Z   File "/opt/python/3.11.8/lib/python3.11/site-packages/gunicorn/app/base.py", line 67, in wsgi
2024-08-23T18:45:54.148037425Z     self.callable = self.load()
2024-08-23T18:45:54.148041425Z                     ^^^^^^^^^^^
2024-08-23T18:45:54.148045525Z   File "/opt/python/3.11.8/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
2024-08-23T18:45:54.148050025Z     return self.load_wsgiapp()
2024-08-23T18:45:54.148053625Z            ^^^^^^^^^^^^^^^^^^^
2024-08-23T18:45:54.148057325Z   File "/opt/python/3.11.8/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
2024-08-23T18:45:54.148061625Z     return util.import_app(self.app_uri)
2024-08-23T18:45:54.148065825Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-23T18:45:54.148069725Z   File "/opt/python/3.11.8/lib/python3.11/site-packages/gunicorn/util.py", line 371, in import_app
2024-08-23T18:45:54.148074025Z     mod = importlib.import_module(module)
2024-08-23T18:45:54.148078525Z           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-23T18:45:54.148082925Z   File "/opt/python/3.11.8/lib/python3.11/importlib/__init__.py", line 126, in import_module
2024-08-23T18:45:54.148087624Z     return _bootstrap._gcd_import(name[level:], package, level)
2024-08-23T18:45:54.148091824Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-23T18:45:54.148095824Z   File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
2024-08-23T18:45:54.148100324Z   File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
2024-08-23T18:45:54.148104524Z   File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
2024-08-23T18:45:54.148108724Z   File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
2024-08-23T18:45:54.148113024Z   File "<frozen importlib._bootstrap_external>", line 940, in exec_module
2024-08-23T18:45:54.148117224Z   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
2024-08-23T18:45:54.148121724Z   File "/tmp/8dcc3a371832e27/app.py", line 5, in <module>
2024-08-23T18:45:54.148126124Z     app = service.app.create_app()
2024-08-23T18:45:54.148130224Z           ^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-23T18:45:54.148140624Z   File "/tmp/8dcc3a371832e27/service/app.py", line 68, in create_app
2024-08-23T18:45:54.148145424Z     <REDACTED>
2024-08-23T18:45:54.148149624Z                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-23T18:45:54.148154224Z   File "/tmp/8dcc3a371832e27/<REDACTED>", line 224, in __init__
2024-08-23T18:45:54.148158424Z     self.engine = create_engine(connection_string, echo=True)
2024-08-23T18:45:54.148162424Z                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-23T18:45:54.148166524Z   File "<string>", line 2, in create_engine
2024-08-23T18:45:54.148170824Z   File "/tmp/8dcc3a371832e27/antenv/lib/python3.11/site-packages/sqlalchemy/util/deprecations.py", line 281, in warned
2024-08-23T18:45:54.148175524Z     return fn(*args, **kwargs)  # type: ignore[no-any-return]
2024-08-23T18:45:54.148179724Z            ^^^^^^^^^^^^^^^^^^^
2024-08-23T18:45:54.148183924Z   File "/tmp/8dcc3a371832e27/antenv/lib/python3.11/site-packages/sqlalchemy/engine/create.py", line 599, in create_engine
2024-08-23T18:45:54.148188324Z     dbapi = dbapi_meth(**dbapi_args)
2024-08-23T18:45:54.148192524Z             ^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-23T18:45:54.148197024Z   File "/tmp/8dcc3a371832e27/antenv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/psycopg2.py", line 690, in import_dbapi
2024-08-23T18:45:54.148201124Z     import psycopg2
2024-08-23T18:45:54.148205624Z ModuleNotFoundError: No module named 'psycopg2'
2024-08-23T18:45:54.148210724Z [2024-08-23 18:45:54 +0000] [75] [INFO] Worker exiting (pid: 75)
2024-08-23T18:45:54.148225624Z WARNING: unable to load api example [Errno 2] No such file or directory: <REDACTED>
2024-08-23T18:45:54.342125151Z [2024-08-23 18:45:54 +0000] [72] [ERROR] Worker (pid:75) exited with code 3
2024-08-23T18:45:54.342891250Z [2024-08-23 18:45:54 +0000] [72] [ERROR] Shutting down: Master
2024-08-23T18:45:54.342910050Z [2024-08-23 18:45:54 +0000] [72] [ERROR] Reason: Worker failed to boot.
harshan89 commented 1 month ago

Same problem here