arcadia-devtools 1475edcc81 intermediate changes | 2 years ago | |
---|---|---|
.. | ||
tests | 2 years ago | |
readme.md | 2 years ago | |
resources.inc | 2 years ago |
Бандлы системного питон майнятся для трех платформ: linux, darwin, windows. Подставляем под PYTHON_VERSION - версию нужного питона
mkdir -p ~/work/packages
cd ~/work/packages
майним deb-пакеты питона
Майним системный питон для запуска на дистбилде:
apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances python{PYTHON_VERSION}-dev python{|3}-pkg-resources python{|3}-setuptools | grep "^\w" | sort -u)
rm libc6* libc-*
Майним системный питон для сборки сошек:
apt download python{PYTHON_VERSION} python{PYTHON_VERSION}-dev python{PYTHON_VERSION}-minimal libpython{PYTHON_VERSION} libpython{PYTHON_VERSION}-dev libpython{PYTHON_VERSION}-stdlib libpython{PYTHON_VERSION}-minimal
cd ..
for path in $(ls packages); do ar -xf packages/$path; tar -xf data.tar.xz; done;
mv usr python
tar -czf python{PYTHON_VERSION}_linux.tar.gz python
ya upload python{PYTHON_VERSION}_linux.tar.gz -d "Ubuntu {UBUNTU_VERSION} x86_64 python{PYTHON_VERSION} installation" --do-not-remove
UBUNTU_VERSION - версия ubuntu, на которой майнился системный питон
/Library/Frameworks/Python.framework/Versions
/Library/Frameworks/Python.framework
в директорию с именем python
python/Python.framework/Versions/
от ненужных питоновpython/Python.framework/Versions/Current -> {PYTHON_VERSION}
python/Python.framework/Headers -> Versions/Current/Headers
python/Python.framework/Python -> Versions/Current/Python
python/Python.framework/Resources -> Versions/Current/Resources
tar -czf python{PYTHON_VERSION}_darwin.tar.gz python
ya upload python{PYTHON_VERSION}_darwin.tar.gz -d "Darwin x86_64 python{PYTHON_VERSION} installation" --do-not-remove
Если нужного питона нет в системе, его нужно установить из python.org
, его установку можно найти в стандартном месте.
Если нужен питон из brew
, его установку можно найти в /usr/local/Cellar/python*/{python_version}/Frameworks/
,
а дальше следовать стандартной инструкции
python.org
python
python
в python{PYTHON_VERSION}_windows.tar.gz
ya upload python{PYTHON_VERSION}_windows.tar.gz -d "Windows x86_64 python{PYTHON_VERSION} installation" --do-not-remove
Добавляем сендбокс ресурсы собранных бандлов в файл resources.inc
SET(PYTHON38_LINUX sbr:1211259884)
Добавляем служебные переменные _SYSTEM_PYTHON*, PY_VERSION, PY_FRAMEWORK_VERSION
для системного питона, если их еще нет,
в ymake.core.conf по аналогии.
"3.8" ? {
_SYSTEM_PYTHON38=yes
PY_VERSION=3.8
PY_FRAMEWORK_VERSION=3.8
}
Добавляем ресурс в build/platform/python/ya.make
DECLARE_EXTERNAL_RESOURCE(EXTERNAL_PYTHON ${PYTHON38_LINUX})
c api
положенного питона, или находим подходящий в репозиторииya make -DUSE_SYSTEM_PYTHON=3.8 --target-platform linux
ya make -DUSE_SYSTEM_PYTHON=3.8 --target-platform darwin
ya make -DUSE_SYSTEM_PYTHON=3.8 --target-platform win