Skip to main content

AzureCLI Custom Python

Installing Azure CLI on Archlinux

When trying to install Azure CLI on Archlinux, I follow the documentation, in the "script" tab, and it leads to the following errors:

[mihamina@arch-00 ~]$ curl -L https://aka.ms/InstallAzureCli | bash
[...]
Running install script.
-- Verifying Python version.
-- Python version 3.11.3 okay.

[...]

-- Executing: ['/usr/bin/python3', 'virtualenv.py', '--python', '/usr/bin/python3', '/home/mihamina/lib/azure-cli']
/tmp/tmpn0w4l6w9/virtualenv-16.7.11/virtualenv.py:24: 
    DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. 
    Use setuptools or check PEP 632 for potential alternatives
  import distutils.spawn

/tmp/tmpn0w4l6w9/virtualenv-16.7.11/virtualenv.py:25: 
    DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead
  import distutils.sysconfig

Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/mihamina/lib/azure-cli/bin/python3
Also creating executable in /home/mihamina/lib/azure-cli/bin/python
ERROR: The executable /home/mihamina/lib/azure-cli/bin/python3 is not functioning
ERROR: It thinks sys.prefix is '/usr' (should be '/home/mihamina/lib/azure-cli')
ERROR: virtualenv is not compatible with this system or executable

This problem is due to the fact my system has a too recent Python version for the system:

[mihamina@arch-00 ~]$ python --version
Python 3.11.3

Issue reported to Github

I reported that issue to the issue tool on Github , and there is a comment indicating me that this install method is not really relevent anymore: An issue thread related to the new way of installing Azure CLI has been opened where it discusses the new way

Installing Azure CLI with Python Virtual Environment

The solution is to install Azure CLI with a Python Virtual Environment:

First, install python-pip:

sudo pacman -S python-pip

Then, create a Python Virtual Environment and install Azure CLI in it:

rm -rf azure-cli
python3 -m venv azure-cli
source ./azure-cli/bin/activate
cd ./azure-cli
python -m pip install --upgrade pip
python -m pip install azure-cli
bin/az --version

With that way, one installs Azure CLI with its embaded local version of Python!

Popular posts from this blog

npm run build base-href

Using NPM to specify base-href When building an Angular application, people usually use "ng" and pass arguments to that invocation. Typically, when wanting to hard code "base-href" in "index.html", one will issue: ng build --base-href='https://ngx.rktmb.org/foo' I used to build my angular apps through Bamboo or Jenkins and they have a "npm" plugin. I got the habit to build the application with "npm run build" before deploying it. But the development team once asked me to set the "--base-href='https://ngx.rktmb.org/foo'" parameter. npm run build --base-href='https://ngx.rktmb.org/foo did not set the base href in indext.html After looking for a while, I found https://github.com/angular/angular-cli/issues/13560 where it says: You need to use −− to pass arguments to npm scripts. This did the job! The command to issue is then: npm run build -- --base-href='https://ngx.rktmb.org/foo&

emacs29 intelephense

Emacs 29 and PHP Intelephense I use to use Emacs and PHP Intelephense for PHP development. I recently upgraded to Emacs 29 and PHP Intelephense stopped working. I found a solution on Reddit Based on that, I rewrote my .emacs file to use eglot instead of lsp-mode, and this is the result. (use-package eglot :ensure t) (add-hook 'php-mode-hook 'eglot-ensure) (use-package php-mode :ensure t :mode ("\\.php\\'" . php-mode)) (add-to-list 'auto-mode-alist '("\\.php$" . php-mode)) (provide 'lang-php) (use-package company :ensure t :config (setq company-idle-delay 0.3) (global-company-mode 1) (global-set-key (kbd "M- ") 'company-complete)) (require 'eglot) (add-to-list 'eglot-server-programs '((php-mode :language-id "php") . ("intelephense" "--stdio" :initializationOptions (:licenseKey "98989898989898989898"

Jenkins invalid privatekey

Publish over SSH, Message "invalid privatekey:" With quite recent (June-July 2020) installations of Jenkins and OpenSSH, I have the following error message when using the "Deploy overs SSH" Jenkins plug-in and publishing artifacts to the target overs SSH: jenkins.plugins.publish_over.BapPublisherException: Failed to add SSH key. Message [invalid privatekey: [B@d8d395a] This problem seems to be referenced here: https://issues.jenkins-ci.org/browse/JENKINS-57495 Just regenerate a key with the right parameters To solve it: ssh-keygen -t rsa -b 4096 Or ssh-keygen -t rsa -b 4096 -m PEM