The "packages.txt" file seems not to be functioning properly

my code:
GitHub - skyshenzhen/easyworktool: 简单工作小工具 metting_summary_system

The following is the log of the operation, but the keyword “apt-get” was not found in it.

[     UTC     ] Logs for easyworktool-sqgmew3vz6deomopwtfcip.streamlit.app/

────────────────────────────────────────────────────────────────────────────────────────

[12:05:41] 🖥 Provisioning machine...

[12:05:41] 🎛 Preparing system...

[12:05:41] ⛓ Spinning up manager process...

[12:05:39] 🚀 Starting up repository: 'easyworktool', branch: 'main', main module: 'metting_summary_system/home.py'

[12:05:39] 🐙 Cloning repository...

[12:05:39] 🐙 Cloning into '/mount/src/easyworktool'...

[12:05:39] 🐙 Cloned repository!

[12:05:39] 🐙 Pulling code changes from Github...

[12:05:40] 📦 Processing dependencies...


──────────────────────────────────────── uv ───────────────────────────────────────────


Using uv pip install.

Using Python 3.9.23 environment at /home/adminuser/venv

Resolved 49 packages in 484ms

Prepared 49 packages in 1.93s

Installed 49 packages in 94ms

 [2025-07-04 12:05:42.996328] + altair==5.5.0

 + attrs==25.3.0

 + blinker==1.9.0

 + brotli==1.1.0

 + cachetools==5.5.2

 + certifi==2025.6.15

 + cffi==1.17.1

 + charset-normalizer==3.4.2

 + click==8.1.8

 + cssselect2==0.8.0

 + fonttools==4.58.5

 + gitdb==4.0.12

 + gitpython==3.1.44

 + idna==3.10

 + jinja2==[2025-07-04 12:05:42.996516] 3.1.6

 + jsonschema==4.24.0

 + jsonschema-specifications==2025.4.1

 + markupsafe==3.0.2

 + narwhals==1.45.0

 + numpy==2.0.2

 + packaging==24.2

 + pandas==2.3.0

 + pillow==11.3.0

 + protobuf==6.31.1[2025-07-04 12:05:42.996703] 

 + pyarrow==20.0.0

 + pycparser==2.22

 + pydeck==0.9.1

 + pydyf==0.11.0

 + pyphen==0.17.2

 + python-dateutil==2.9.0.post0

 + pytz==2025.2

 + referencing==0.36.2

 + requests==2.32.4

 + [2025-07-04 12:05:42.996956] rpds-py==0.26.0

 + six==1.17.0

 + smmap==5.0.2

 + streamlit==1.45.1

 + tenacity==9.1.2

 + tinycss2==1.4.0

 + tinyhtml5==2.0.0

 + toml==0.10.2

 [2025-07-04 12:05:42.997214] + tornado==6.5.1

 + typing-extensions==4.14.0

 + tzdata==2025.2

 + urllib3==2.5.0

 + watchdog==6.0.0

 + weasyprint==65.1

 + webencodings==0.5.1

 + zopfli==0.2.3.post1

Checking if Streamlit is installed

Found Streamlit version 1.45.1 in the environment

Installing rich for an improved exception logging

Using uv pip install.

Using Python 3.9.23 environment at /home/adminuser/venv

Resolved 5 packages in 140ms

Prepared 4 packages in 123ms

Installed 4 packages in 17ms

 + markdown-it-py==3.0.0

 + mdurl==0.1.2

 + pygments==2.19.2

 + rich==14.0.0


────────────────────────────────────────────────────────────────────────────────────────


[12:05:44] 🐍 Python dependencies were installed from /mount/src/easyworktool/metting_summary_system/requirements.txt using uv.

Check if streamlit is installed

Streamlit is already installed

[12:05:46] 📦 Processed dependencies!





-----


WeasyPrint could not import some external libraries. Please carefully follow the installation steps before reporting an issue:

https://doc.courtbouillon.org/weasyprint/stable/first_steps.html#installation

https://doc.courtbouillon.org/weasyprint/stable/first_steps.html#troubleshooting 


-----


────────────────────── Traceback (most recent call last) ───────────────────────

  /home/adminuser/venv/lib/python3.9/site-packages/streamlit/runtime/scriptrun  

  ner/exec_code.py:121 in exec_func_with_error_handling                         

                                                                                

  /home/adminuser/venv/lib/python3.9/site-packages/streamlit/runtime/scriptrun  

  ner/script_runner.py:645 in code_to_exec                                      

                                                                                

  /mount/src/easyworktool/metting_summary_system/home.py:12 in <module>         

                                                                                

      9 import streamlit as st                                                  

     10 from datetime import datetime, time                                     

     11 from jinja2 import Environment, FileSystemLoader                        

  ❱  12 from weasyprint import HTML                                             

     13 from collections import defaultdict                                     

     14 from io import BytesIO                                                  

     15                                                                         

                                                                                

  /home/adminuser/venv/lib/python3.9/site-packages/weasyprint/__init__.py:430   

  in <module>                                                                   

                                                                                

    427 │   │   yield 'string', string, base_url, None                          

    428                                                                         

    429 # Work around circular imports.                                         

  ❱ 430 from .css import preprocess_stylesheet  # noqa: I001, E402              

    431 from .html import (  # noqa: E402                                       

    432 │   HTML5_UA_COUNTER_STYLE, HTML5_UA_STYLESHEET, HTML5_UA_FORM_STYLESH  

    433 │   HTML5_PH_STYLESHEET)                                                

                                                                                

  /home/adminuser/venv/lib/python3.9/site-packages/weasyprint/css/__init__.py:  

  28 in <module>                                                                

                                                                                

      25 from ..logger import LOGGER, PROGRESS_LOGGER                           

      26 from ..urls import URLFetchingError, get_url_attribute, url_join       

      27 from . import counters, media_queries                                  

  ❱   28 from .computed_values import COMPUTER_FUNCTIONS                        

      29 from .properties import INHERITED, INITIAL_NOT_COMPUTED, INITIAL_VALU  

      30 from .validation import preprocess_declarations                        

      31 from .validation.descriptors import preprocess_descriptors             

                                                                                

  /home/adminuser/venv/lib/python3.9/site-packages/weasyprint/css/computed_val  

  ues.py:9 in <module>                                                          

                                                                                

      6 from tinycss2.color4 import parse_color                                 

      7                                                                         

      8 from ..logger import LOGGER                                             

  ❱   9 from ..text.ffi import FROM_UNITS, ffi, pango                           

     10 from ..text.line_break import Layout, first_line_metrics                

     11 from ..urls import get_link_attribute                                   

     12 from .properties import INITIAL_VALUES, ZERO_PIXELS, Dimension          

                                                                                

  /home/adminuser/venv/lib/python3.9/site-packages/weasyprint/text/ffi.py:478   

  in <module>                                                                   

                                                                                

    475 gobject = _dlopen(                                                      

    476 │   ffi, 'libgobject-2.0-0', 'gobject-2.0-0', 'gobject-2.0',            

    477 │   'libgobject-2.0.so.0', 'libgobject-2.0.dylib', 'libgobject-2.0-0.d  

  ❱ 478 pango = _dlopen(                                                        

    479 │   ffi, 'libpango-1.0-0', 'pango-1.0-0', 'pango-1.0', 'libpango-1.0.s  

    480 │   'libpango-1.0.dylib', 'libpango-1.0-0.dll')                         

    481 harfbuzz = _dlopen(                                                     

                                                                                

  /home/adminuser/venv/lib/python3.9/site-packages/weasyprint/text/ffi.py:463   

  in _dlopen                                                                    

                                                                                

    460 │   │   'https://doc.courtbouillon.org/weasyprint/stable/'              

    461 │   │   'first_steps.html#troubleshooting',                             

    462 │   │   '\n\n-----\n')  # pragma: no cover                              

  ❱ 463 │   return ffi.dlopen(names[0], flags)  # pragma: no cover              

    464                                                                         

    465                                                                         

    466 if hasattr(os, 'add_dll_directory') and not hasattr(sys, 'frozen'):  #  

                                                                                

  /home/adminuser/venv/lib/python3.9/site-packages/cffi/api.py:150 in dlopen    

                                                                                

    147 │   │   │   raise TypeError("dlopen(name): name must be a file name, N  

    148 │   │   │   │   │   │   │   "or an already-opened 'void *' handle")     

    149 │   │   with self._lock:                                                

  ❱ 150 │   │   │   lib, function_cache = _make_ffi_library(self, name, flags)  

    151 │   │   │   self._function_caches.append(function_cache)                

    152 │   │   │   self._libraries.append(lib)                                 

    153 │   │   return lib                                                      

                                                                                

  /home/adminuser/venv/lib/python3.9/site-packages/cffi/api.py:834 in           

  _make_ffi_library                                                             

                                                                                

    831                                                                         

    832 def _make_ffi_library(ffi, libname, flags):                             

    833 │   backend = ffi._backend                                              

  ❱ 834 │   backendlib = _load_backend_lib(backend, libname, flags)             

    835 │   #                                                                   

    836 │   def accessor_function(name):                                        

    837 │   │   key = 'function ' + name                                        

                                                                                

  /home/adminuser/venv/lib/python3.9/site-packages/cffi/api.py:829 in           

  _load_backend_lib                                                             

                                                                                

    826 │   │   │      "to locate a library called %r" % (name,))               

    827 │   │   if first_error is not None:                                     

    828 │   │   │   msg = "%s.  Additionally, %s" % (first_error, msg)          

  ❱ 829 │   │   raise OSError(msg)                                              

    830 │   return backend.load_library(path, flags)                            

    831                                                                         

    832 def _make_ffi_library(ffi, libname, flags):                             

────────────────────────────────────────────────────────────────────────────────

OSError: cannot load library 'libpango-1.0-0': libpango-1.0-0: cannot open 

shared object file: No such file or directory.  Additionally, 

ctypes.util.find_library() did not manage to locate a library called 

'libpango-1.0-0'

main
skyshenzhen/easyworktool/main/metting_summary_system/home.py

I finally figured out the problem. It’s a rather trivial one. The file “packages.txt” needs to be placed in the root directory of your GitHub project. Currently, I have two demos in the root directory. I understand that each demo should have its own “packages.txt”. However, this approach doesn’t work.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.