CiscoTestAutomation / pyats

Cisco DevNet pyATS Test Framework Bug Tracker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fail to Install on aarch64 container architectures

jvanderaa opened this issue · comments

Unable to install pyATS on a container launched from an M1 MacBook:

root@d690792a4fb4:/# pip install pyats==22.6
ERROR: Could not find a version that satisfies the requirement pyats==22.6 (from versions: none)
ERROR: No matching distribution found for pyats==22.6
WARNING: You are using pip version 22.0.4; however, version 22.1.2 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
root@d690792a4fb4:/# arch
aarch64

Also does not install if using ARM64 architecture with a M1 MBP:

❯ python3 -m venv test_venv
❯ source test_venv/bin/activate
❯ which pip
/Users/joshv/test_venv/bin/pip
❯ pip install pyats
ERROR: Could not find a version that satisfies the requirement pyats (from versions: none)
ERROR: No matching distribution found for pyats
WARNING: You are using pip version 20.2.3; however, version 22.1.2 is available.
You should consider upgrading via the '/Users/joshv/test_venv/bin/python3 -m pip install --upgrade pip' command.
❯ arch
arm64

Hello,

I think you need to upgrade your pip version. You can upgrade it with this command

pip install --upgrade pip

You can install pyats with the following command.

pip install "pyats[full]"

Please check our installation documentation.

https://pubhub.devnetcloud.com/media/pyats-getting-started/docs/install/installpyATS.html

Hi @jvanderaa we provide arm64 packages only for Mac with M1. so above is not supported.

not sure if suitable for your case, but we have pyATS docker image. please use this.
https://hub.docker.com/r/ciscotestautomation/pyats/

Here is the exact set up running. I'm starting from a base Python container:

❯ docker run --rm -it python:3.8 bash
root@30cc37543048:/# pip install --upgrade pip
Requirement already satisfied: pip in /usr/local/lib/python3.8/site-packages (22.0.4)
Collecting pip
  Downloading pip-22.1.2-py3-none-any.whl (2.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 2.4 MB/s eta 0:00:00
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 22.0.4
    Uninstalling pip-22.0.4:
      Successfully uninstalled pip-22.0.4
Successfully installed pip-22.1.2
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
root@30cc37543048:/# pip install "pyats[full]"
ERROR: Could not find a version that satisfies the requirement pyats[full] (from versions: none)
ERROR: No matching distribution found for pyats[full]
root@30cc37543048:/# arch
aarch64

Specifically we were leveraging pyATS within the network-importer library. And that is what we were trying to get up and running within a Python container.

Thanks @ademz on the upgrading of pip on the Mac platform. That does get the install working there if in a virtualenv. So is it just down to the default architecture of a Python container, the aarch64 side of things?

Updated the title for this.

sorry, we don't support aarch64 at this point.

Do you have a recommended container execution environment for Mac? This is the default container architecture that is coming when just using the default Python systems.

Hello @jvanderaa ,

As @tahigash said, we don't support docker containers with aarch64 yet.

Thank you,
Adem

Makes sense. Is this on the radar or a new request based here?

I did also just try to see if I could start from the pyats container as my new base instead of a Python official container. It looks like it is built only for amd64 there as well.

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

Then it crashes. I am guessing if I build off of either Ubuntu or UBI that I may be able to get to an ARM64 platform. Then it may work cross platform.

Use this as a feature request. If that means you close and add to a backlog, that I'm fine with. I'm just expecting that since pyATS is on the DevNet Expert type studies, that being able to run on containers within the Mac ecosystem should be there. I absolutely understand positions and priorities within the backlog grooming.

@jvanderaa We will tackle it in the future releases but I'm not able to say the exact date.

Thank you so much for your patience.