Sathiamoorthy
Sathiamoorthy

Reputation: 11630

Can't install xmlsec using PIP command

pip install xmlsec commands throws the below error.

ERROR: Command errored out with exit status 1:
   command: /home/xxx/PycharmProjects/saml_impl/saml_impl/venv/bin/python /home/sathia/PycharmProjects/saml_impl/saml_impl/venv/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmpu_b5m5vz
       cwd: /tmp/pip-install-gblz98sr/xmlsec
  Complete output (14 lines):
  running bdist_wheel
  running build
  running build_py
  package init file 'src/xmlsec/__init__.py' not found (or not a regular file)
  creating build
  creating build/lib.linux-x86_64-3.8
  creating build/lib.linux-x86_64-3.8/xmlsec
  copying src/xmlsec/py.typed -> build/lib.linux-x86_64-3.8/xmlsec
  copying src/xmlsec/template.pyi -> build/lib.linux-x86_64-3.8/xmlsec
  copying src/xmlsec/constants.pyi -> build/lib.linux-x86_64-3.8/xmlsec
  copying src/xmlsec/__init__.pyi -> build/lib.linux-x86_64-3.8/xmlsec
  copying src/xmlsec/tree.pyi -> build/lib.linux-x86_64-3.8/xmlsec
  running build_ext
  error: Unable to invoke pkg-config.
  ----------------------------------------
  ERROR: Failed building wheel for xmlsec
Failed to build xmlsec
ERROR: Could not build wheels for xmlsec which use PEP 517 and cannot be installed directly'

I don't know how to resolve this issue. I tried to install other xmlsec package too, nothing worked.

Upvotes: 16

Views: 30026

Answers (10)

Ricardo
Ricardo

Reputation: 4328

Fast forward to 2023 and the issue happened w/me on macOS. It seems like we are Unable to (pip install xmlsec) since brew version 4.0.13. A variation of dpritchett's workaround plus johnnymetz's comment saved me, which consists on:

manually reverting to a copy of the last known good pre-1.3.0 xmlsec1 version (1.2.37) Formula:

  1. brew edit libxmlsec1; an editor opens up, full of the contents of the latest downloaded xmlsec formula
  2. paste in the contents of the last pre-1.3.0 brew formula and save it (vim: wq!)*
  3. brew unlink libxmlsec1
  4. Install that local formula: brew install /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/libxmlsec1.rb
  5. pip install xmlsec

* On my setup steps 1 & 2 were not necessary; I pasted here a variation of their answer on the same link

Upvotes: 14

Aashish Kumar
Aashish Kumar

Reputation: 145

Use these commands if you are getting this error in mac this will work for sure.

xcode-select --install

brew upgrade

brew install libxml2 libxmlsec1

pip install xmlsec

Upvotes: 0

edrtz
edrtz

Reputation: 21

Solution for my MacBook Air (M2, 2022) running macOS Monterey

xcode-select --install
brew upgrade
brew install libxml2 libxmlsec1
pip install xmlsec

!REBOOT!
Create virtual env with python 3.10 (probably 3.8/3.9 works too but didn't test)

python3.10 -m venv .venv
source .venv/bin/activate
pip install xmlsec

Upvotes: 1

mahendra rathod
mahendra rathod

Reputation: 1638

I was getting below error while installation of sentry

ERROR: Could not build wheels for xmlsec which use PEP 517 and cannot be installed directly

It's resolved by @sathiamoorthy above answer.

sudo apt-get install pkg-config libxml2-dev libxmlsec1-dev libxmlsec1-openssl

Upvotes: 0

Sathiamoorthy
Sathiamoorthy

Reputation: 11630

Xmlsec listed here https://pypi.org/project/xmlsec/. The below command should install for download required native libraries.

sudo apt-get install pkg-config libxml2-dev libxmlsec1-dev libxmlsec1-openssl

Upvotes: 24

Aniket
Aniket

Reputation: 582

yum install libxml2-devel xmlsec1-devel xmlsec1-openssl-devel libtool-ltdl-devel

Upvotes: 1

Saurabh Chandra Patel
Saurabh Chandra Patel

Reputation: 13644

sudo apt-get install libxmlsec1-dev pkg-config

this will work on ubuntu / wsl ubuntu

Upvotes: 5

Brian
Brian

Reputation: 1604

I had a similar issue with installing xmlsec. What did it for me was reinstalling the required native libraries listed here: https://pypi.org/project/xmlsec/

It was as simple as installing: brew install libxml2 libxmlsec1 pkg-config

Upvotes: 9

Avin Mathew
Avin Mathew

Reputation: 542

i had similar issue but instead of "pkg-config" error, i had error with "xmlsec1" so i used the command

sudo apt-get install libxmlsec1-dev pkg-config

as per Could not find xmlsec1 config. Are libxmlsec1-dev and pkg-config installed?

Upvotes: 1

Amrsaeed
Amrsaeed

Reputation: 316

This indicates that the wheels you are trying to install aren't supported by PEP 517. Try upgrading the following packages then trying to install again

pip install --upgrade pip setuptools wheel

Upvotes: 2

Related Questions