Я пытаюсь создать локальную версию python3 (в частности, python3.7, но та же проблема с 3.6.6), но сталкиваюсь с проблемами при подключении к некоторым библиотекам C и / или заголовкам (по крайней мере, это то, что я думаю проблема в том).
Я могу собрать python3.7, но столкнуться с проблемами с bzip2 (но я подозреваю, что будут другие системные библиотеки, о которых я скучаю, но не знаю). Это проявляется при попытке импортировать различные пакеты / модули, которые требуют этого как ошибка импорта:
ModuleNotFoundError: No module named '_bz2'
Из этого вопроса stackoverflow - Задать вопрос - кажется, что я построил python без правильных заголовков bz2. Сама сборка Python не терпит неудачу.
Конкретный вопрос: как собрать локальную версию python с bz2? В более общем плане, вопрос заключается в том, как правильно ссылаться на системные библиотеки? (поскольку могут быть другие, с которыми я не сталкивался с ошибками)
С точки зрения того, что я пытался - я нашел этот (старый) вопрос -
Как вы назначаете bz2 для altinstall из python? и этот более свежий вопрос Компилируете поддержку bz2 в python2 и пробовали несколько вещей, основанных на них.
Первая проблема, с которой я столкнулся, - это поиск нужных библиотек и т. Д. Для связи (решение в приведенном выше вопросе предлагает установить CFLAGS="-I/path/to/bz2/include"
и LDFLAGS="-L/path/to/bz2/lib"
). Предположительно, они где-то в моей системе (ubuntu 16.04), так как системные установки python2.7 и python3.5 не имеют проблем с bzip2.
Я нашел libbz2.so.1
(и некоторые другие в) /lib/x86_64-linux-gnu/
- но папки, похоже, не следовали шаблону примера / ответа выше. Таким образом, я собрал новую локальную версию bz2 (в .bzp
в моей локальной папке), а затем попытался создать ссылку на нее, когда попытался собрать python3.7, используя следующее:
./configure --prefix=/home/user/.localpython CFLAGS="-I/home/user/.bz2/include" LDFLAGS="-L/home/user/.bz2/lib"
Я также попробовал более общую конфигурацию (которая основывалась на Компиляции Python с поддержкой bz2 , ссылка на которую приведена во второй статье выше.)
./configure --prefix=/home/user/.python CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
(оба из которых были неудачными)
Любые указатели, советы и т. Д. С благодарностью - заранее спасибо!