Azure / Django / Ubuntu | проблема импорта tkinter и libtk8.6.so

Когда Azure собирает и развертывает Python3.9 Django/Django-Rest WebApp, происходит сбой при запуске.

Ошибка в вопросе (полные журналы ниже)

2022-03-08T21:13:30.385999188Z   File "/tmp/8da0147da65ec79/core/models.py", line 1, in <module>

2022-03-08T21:13:30.386659422Z     from tkinter import CASCADE

2022-03-08T21:13:30.387587669Z   File "/opt/python/3.9.7/lib/python3.9/tkinter/__init__.py", line 37, in <module>

2022-03-08T21:13:30.387993189Z     import _tkinter # If this fails your Python may not be configured for Tk

2022-03-08T21:13:30.388227101Z ImportError: libtk8.6.so: cannot open shared object file: No such file or directory

Я встречал другие ответы на этот вопрос о необходимости убедиться, что tkinter установлен sudo apt-get python3-tk, который я добавил в yml файл развертывания

Хотя, похоже, проблема все еще существует. Возврат к предыдущему коду для развертывания прошел успешно и единственная функция, которая была добавлена в приложение, это Celery. Не уверен, имеет ли это какое-либо отношение к делу или нет.

Я добавляю установку tk/tkinter в неправильной последовательности?

build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: Set up Python version
        uses: actions/setup-python@v1
        with:
          python-version: "3.9"

      - name: Create and start virtual environment
        run: |
          python -m venv venv
          source venv/bin/activate

      - name: Install TK dependency
        run: |
          sudo apt-get update
          sudo apt-get install python3-tk

      - name: Install dependencies
        run: pip install -r requirements.txt

      - name: Upload artifact for deployment jobs
        uses: actions/upload-artifact@v2
        with:
          name: python-app
          path: |
            . 
            !venv/

Журнал приложения выводится ниже...

Tkinter уже включен в образ ubuntu-latest. Никаких особых настроек не требуется.

jobs:
  verify-tkinter:
    name: verify-tkinter
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Set up Python version
        uses: actions/setup-python@v1
        with:
          python-version: "3.9"
      - name: show tk version
        run: |
          python -c "import tkinter;print(tkinter.TkVersion)"

Если эта ошибка возникает после развертывания, вам необходимо установить tkinter в вашей среде развертывания, которая работает отдельно от GitHub Actions.

На вашем сервере работает Ubuntu 20 и, убедитесь, что установлен пакет tk, который предоставляет libtk8.6.so необходимый файл

apt install -y tk

Tkinter уже включен в образ ubuntu-latest. Никаких особых настроек не требуется.

jobs:
  verify-tkinter:
    name: verify-tkinter
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Set up Python version
        uses: actions/setup-python@v1
        with:
          python-version: "3.9"
      - name: show tk version
        run: |
          python -c "import tkinter;print(tkinter.TkVersion)"

Если эта ошибка возникает после развертывания, вам необходимо установить tkinter в вашей среде развертывания, которая работает отдельно от GitHub Actions.

На вашем сервере работает Ubuntu 20 и, убедитесь, что установлен пакет tk, который предоставляет libtk8.6.so необходимый файл

apt install -y tk

Я столкнулся с этой ошибкой из-за простой ошибки.

IDE добавила from turtle import up в мой .py, а я не заметил

Вернуться на верх