Python 如何在Azure web应用程序上运行apt get或在Azure上的flask中导入cv2?

Python 如何在Azure web应用程序上运行apt get或在Azure上的flask中导入cv2?,python,azure,docker,opencv,Python,Azure,Docker,Opencv,我正在尝试在Flask webapp中导入cv2,并收到以下消息 ... 2019-08-16T11:48:08.491189686Z return util.import_app(self.app_uri) 2019-08-16T11:48:08.491192986Z File "/usr/local/lib/python3.6/site-packages/gunicorn/util.py", line 350, in import_app 2019-08-16T11:48:08.

我正在尝试在Flask webapp中导入cv2,并收到以下消息

...
2019-08-16T11:48:08.491189686Z     return util.import_app(self.app_uri)
2019-08-16T11:48:08.491192986Z   File "/usr/local/lib/python3.6/site-packages/gunicorn/util.py", line 350, in import_app
2019-08-16T11:48:08.491196286Z     __import__(module)
2019-08-16T11:48:08.491199486Z   File "/home/site/wwwroot/Webapp/main.py", line 12, in 
2019-08-16T11:48:08.491203086Z     import cv2
2019-08-16T11:48:08.491206386Z   File "/home/site/wwwroot/antenv3.6/lib/python3.6/site-packages/cv2/__init__.py", line 3, in 
2019-08-16T11:48:08.491209886Z     from .cv2 import *
2019-08-16T11:48:08.491213086Z ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory
2019-08-16T11:48:08.497759820Z [2019-08-16 11:48:08 +0000] [36] [INFO] Worker exiting (pid: 36)
2019-08-16T11:48:08.652109211Z [2019-08-16 11:48:08 +0000] [33] [INFO] Shutting down: Master
2019-08-16T11:48:08.652493413Z [2019-08-16 11:48:08 +0000] [33] [INFO] Reason: Worker failed to boot.
为了解决这个问题,我尝试在运行apt-get-install-libgtk2.0-dev,但出现了这个错误

E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

/home> 
我还尝试在web SSH上运行apt-get命令,但它会在我打开它时自动关闭

更新:

我从代码中导入cv2,连接到SSH,然后运行apt-get-update,然后运行apt-get-install-libgtk2.0-dev。 然后我在ssh上用python输入importcv2,它就可以工作了。
因此,我再次通过取消对import cv2的注释来部署webapp,同样的错误又回来了。

您好,当您ssh到正在运行的应用程序中并像这样安装时,您正在手动更新正在运行的“已部署版本”即“已部署版本”

当您重新部署代码更改时,它消失的原因是cicd将重新生成“构建”,并且手动作业不在您的构建中,因此在进行部署时将其清除

要将其添加到生成中,请尝试以下操作:

请确认您有一个.github/workflows/appName(production).yaml文件。 如果是这样,您将希望使用以下内容更新yaml文件

-----------------microsoft Azure默认启动------------------ .github/workflows/appName(production).yaml

-----------------microsoft Azure默认中间名紧跟-name:building using AppService Build------------------

        steps
          - name: install the package that I was doing manually
            run: |
              sudo apt-get install libgtk2.0-dev
-----------------microsoft Azure默认结束------------------

        steps
          - name: install the package that I was doing manually
            run: |
              sudo apt-get install libgtk2.0-dev

请试一试,因为这是在pip安装需求之外向您的项目添加软件包的官方方式。txt

您是否阅读了官方文档?我添加了关于我的问题的更新