nginxinc / nginx-amplify-agent

NGINX Amplify Agent
BSD 2-Clause "Simplified" License
23 stars 9 forks source link

Ubuntu 22 and Python 3.10 support? #81

Closed aske-cph closed 2 years ago

aske-cph commented 2 years ago

Right now installation fails on Ubuntu 22 and requires Python 2.7?

Question also asked here : https://github.com/nginxinc/nginx-amplify-doc/issues/50 - why is there no questions in here?

Thanks in Advance!

LordSimal commented 2 years ago

To give a more detailed explenation of the Problem: Ubuntu 22.04 "jammy" comes with Python 3.10.4 installed (as you see HERE) and therefore trying to install the latest package from https://packages.amplify.nginx.com/py3/ubuntu/pool/amplify-agent/n/nginx-amplify-agent/ via dpkg doesn't work

-> % sudo dpkg -i nginx-amplify-agent_1.8.0-2\~focal_amd64.deb
(Reading database ... 425190 files and directories currently installed.)
Preparing to unpack nginx-amplify-agent_1.8.0-2~focal_amd64.deb ...
Unpacking nginx-amplify-agent (1.8.0-2~focal) over (1.8.0-2~focal) ...
dpkg: dependency problems prevent configuration of nginx-amplify-agent:
 nginx-amplify-agent depends on python3 (<< 3.9); however:
  Version of python3 on system is 3.10.4-0ubuntu2.

dpkg: error processing package nginx-amplify-agent (--install):
 dependency problems - leaving unconfigured
Processing triggers for ureadahead (0.100.0-21) ...
Errors were encountered while processing:
 nginx-amplify-agent

But also if you had the 1.8.0-1 version installed beforehand (which I had) and you try to start it you get

Traceback (most recent call last):
  File "/usr/bin/nginx-amplify-agent.py", line 26, in <module>
    main.run('amplify')
  File "/usr/lib/python3/dist-packages/amplify/agent/main.py", line 108, in run
    rc = test_configuration_and_enviroment(
  File "/usr/lib/python3/dist-packages/amplify/agent/main.py", line 77, in test_configuration_and_enviroment
    from amplify.agent.common.util import configreader
  File "/usr/lib/python3/dist-packages/amplify/agent/common/util/configreader.py", line 9, in <module>
    from amplify.agent.common.context import context
  File "/usr/lib/python3/dist-packages/amplify/agent/common/context.py", line 11, in <module>
    from amplify.agent.common.util.ps import Process
  File "/usr/lib/python3/dist-packages/amplify/agent/common/util/ps.py", line 3, in <module>
    import psutil
  File "/usr/lib/python3/dist-packages/amplify/psutil/__init__.py", line 99, in <module>
    from . import _pslinux as _psplatform
  File "/usr/lib/python3/dist-packages/amplify/psutil/_pslinux.py", line 26, in <module>
    from . import _psutil_linux as cext
ImportError: cannot import name '_psutil_linux' from partially initialized module 'psutil' (most likely due to a circular import) (/usr/lib/python3/dist-packages/amplify/psutil/__init__.py)
amplify-agent.service: Control process exited, code=exited, status=1/FAILURE

So something has changed in the usage of the psutil package in Python 3.9 or 3.10 I guess... I am not that accustomed to python so no idea how to debug that.

thommcgrath commented 2 years ago

Just ran into this one myself. Kind of seems like amplify is abandonware.

sky93 commented 2 years ago

still not working

thommcgrath commented 2 years ago

I noticed that Amplify supposedly supports Ubuntu 22 Jammy according to https://amplify.nginx.com/docs/faq-2-nginx-amplify-agent.html, but... not really? There's no jammy files inside https://packages.amplify.nginx.com/ubuntu/ so install doesn't work.

defanator commented 2 years ago

@thommcgrath if you do have nginx-amplify-agent already installed, you need to adjust your repository URL in order to access newer Python 3 based versions as described here:

https://amplify.nginx.com/docs/guide-installing-and-managing-nginx-amplify-agent.html#updating-the-agent

New installations from official install script (https://github.com/nginxinc/nginx-amplify-agent/blob/master/packages/install.sh) should automatically configure appropriate paths / URLs.