Мне нужно создать распространяемую автономную среду Python с использованием pyenv в macOS.
Проблема, с которой я сталкиваюсь, заключается в том, что существуют зависимости от динамических библиотек. Эти зависимости включают полный путь динамической библиотеки (например, libssl.1.0.0.dylib
в /usr/local/opt/
). Например, одна из зависимостей модуля Python ssl
- lib-dynload/_ssl.cpython-37m-darwin.so
, которая ссылается на системную библиотеку libssl.
Я не могу распространять это, потому что пользователи не всегда имеют openssl в одном каталоге с моей машиной сборки,Я не могу контролировать местоположение, где пользователи будут устанавливать мой пакет, потому что он будет в их домашнем каталоге. Таким образом, абсолютные пути прямо сейчас.
Я рассмотрел использование rpath
, которое позволяет динамическим библиотекам определять свои зависимости с относительными путями. Похоже, это вызывает проблемы с безопасностью, поэтому я бы предпочел не использовать его.
Возможно ли настроить pyenv для использования статических библиотек, когда это возможно, например, для openssl?