Получение «ошибка: xmlsec1 не установлен или отсутствует в пути.», Когда pip устанавливает xmlsec
Я использую MacOS 10.15.7 Catalina, и в настоящее время я использую Python 3.8.4 с Pip 21.1.1
По какой-то причине я продолжаю получать сообщение об ошибке при попытке запустить
python -m pip install xmlsec
Ошибка в текстовой форме:
➜ python -m pip install xmlsec
Collecting xmlsec
Using cached xmlsec-1.3.10.tar.gz (62 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing wheel metadata ... done
Requirement already satisfied: lxml>=3.8 in /Users/rsheikh/.pyenv/versions/3.8.4/lib/python3.8/site-packages (from xmlsec) (4.6.3)
Building wheels for collected packages: xmlsec
Building wheel for xmlsec (PEP 517) ... error
ERROR: Command errored out with exit status 1:
command: /Users/rsheikh/.pyenv/versions/3.8.4/bin/python /Users/rsheikh/.pyenv/versions/3.8.4/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /var/folders/q6/l4q1yvg11v3dftcbdqr8jxgh0000gq/T/tmp6b9bs29g
cwd: /private/var/folders/q6/l4q1yvg11v3dftcbdqr8jxgh0000gq/T/pip-install-re_pqhol/xmlsec_f862b9f5baae4fe49f2ba58dadb464f1
Complete output (20 lines):
running bdist_wheel
running build
running build_py
/private/var/folders/q6/l4q1yvg11v3dftcbdqr8jxgh0000gq/T/pip-build-env-dqtkuueu/overlay/lib/python3.8/site-packages/setuptools/dist.py:648: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead
warnings.warn(
/private/var/folders/q6/l4q1yvg11v3dftcbdqr8jxgh0000gq/T/pip-build-env-dqtkuueu/overlay/lib/python3.8/site-packages/setuptools/dist.py:648: UserWarning: Usage of dash-separated 'build-requires' will not be supported in future versions. Please use the underscore name 'build_requires' instead
warnings.warn(
/private/var/folders/q6/l4q1yvg11v3dftcbdqr8jxgh0000gq/T/pip-build-env-dqtkuueu/overlay/lib/python3.8/site-packages/setuptools/dist.py:648: UserWarning: Usage of dash-separated 'upload-dir' will not be supported in future versions. Please use the underscore name 'upload_dir' instead
warnings.warn(
package init file 'src/xmlsec/__init__.py' not found (or not a regular file)
creating build
creating build/lib.macosx-10.15-x86_64-3.8
creating build/lib.macosx-10.15-x86_64-3.8/xmlsec
copying src/xmlsec/py.typed -> build/lib.macosx-10.15-x86_64-3.8/xmlsec
copying src/xmlsec/tree.pyi -> build/lib.macosx-10.15-x86_64-3.8/xmlsec
copying src/xmlsec/__init__.pyi -> build/lib.macosx-10.15-x86_64-3.8/xmlsec
copying src/xmlsec/constants.pyi -> build/lib.macosx-10.15-x86_64-3.8/xmlsec
copying src/xmlsec/template.pyi -> build/lib.macosx-10.15-x86_64-3.8/xmlsec
running build_ext
error: xmlsec1 is not installed or not in path.
----------------------------------------
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
Однако я подтвердил, что xmlsec1 был установлен с
xmlsec1 --version
, который вернул:
xmlsec1 1.2.32 (openssl)
Пока я установил
pkg-config 0.29.2_3
,
Libxmlsec1 1.2.32
, а также
libxml2 2.9.10_2
с домашним пивом.
Я также добавил необходимые
Libxmlsec1
экспорт и
openssl 1.1
экспорт в мой
./zshrc
.
Есть ли дополнительный параметр, который мне нужно добавить к моему пути zsh, чтобы эта установка работала правильно, но мне не хватает?
3 ответа
Ошибка сбивает с толку. Кажется, требуется dev lib
sudo apt install libxmlsec1 libxmlsec1-dev
(Если это все еще не удается, попробуйте ответ Альменона)
Я столкнулся с той же проблемой на Ubuntu. Я думаю, проблема заключалась в том, что pkg-config от brew использовался вместо pkg-config, который я установил через apt. Чтобы это исправить, измените PKG_CONFIG_PATH так, чтобы он указывал на apt pkg-config.
Для меня это команда ниже, но она может быть другой, если вы работаете на Mac.
export PKG_CONFIG_PATH=/usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
Затем запустите pip install и наслаждайтесь.
Также не уверен, что это имеет значение, но я установил Libxmlsec1 через apt.
Я столкнулся с проблемой, когда пытался развернуть своего чат-бота в Heroku. Это то, что я сделал, чтобы решить проблему. Надеюсь, это поможет кому-то, кто просматривает этот пост, найти решение!
Сообщение об ошибке указывает, что xmlsec1 не установлен или отсутствует в пути. Вы можете попробовать добавить xmlsec1 в качестве пакета сборки на Heroku, выполнив следующие действия:
- В терминале перейдите в каталог вашего проекта.
- Добавьте сборочный пакет xmlsec1 в свое приложение Heroku, выполнив следующую команду: Heroku buildpacks:add https://github.com/heroku/heroku-buildpack-apt.git
- Создайте файл с именем Aptfile в корневом каталоге вашего проекта. Добавьте в Aptfile следующие строки: libxml2-dev libxmlsec1-dev pkg-config.
- Зафиксируйте Aptfile в своем репозитории git и отправьте изменения в Heroku, выполнив следующие команды:git add Aptfilegit commit -m «Добавить Aptfile для пакета сборки xmlsec1» git push Heroku main
Это должно установить xmlsec1 и его зависимости в вашем приложении Heroku и позволить сборке успешно завершиться.