[РЕШЕНО]Не могу найти пакет python-dev. Какая версия python установлена в Gentoo по умолчанию -devel/не devel?
White_Shark 4 мая, 2017 - 15:55
Здравствуйте! Сейчас уже перехожу к установке Theano. В инструкции (http://deeplearning.net/software/theano/install_ubuntu.html) сказано
"The development package (python-dev or python-devel on most Linux distributions) is recommended (see just below)."
"python-dev, g++ >= 4.2
Highly recommended. Theano can fall back on a NumPy-based Python execution model, but a C compiler allows for vastly faster execution."
Я так и не смог найти пакет python-dev или python-devel. Может USE-флаг какой за это должен отвечать? Есть подозрения на -build в пакете dev-lang/python, но я не уверен. Может с gentoo "из коробки" идет именно python-dev версия? Помогите пожалуйста разобраться с этим.
»
- Для комментирования войдите или зарегистрируйтесь
.
В бинарных дистрибутивах суффикс
-dev
обозначает пакеты с файлами, необходимыми для разработки (компилляции приложений, использующих приложение).В Gentoo они идут без выделения, в составе базового пакета.
:wq
--
Live free or die
Спасибо за быстрый ответ!
Спасибо за быстрый ответ! Т.е. мне не заморачиваться, у меня всё, что нужно (то, что подразумевается под python-dev) уже установлено "из коробки". Отлично!
/
Только помни о ереси.
И не забывай о гентушной фиче (слоты) и правильном указании используемой версии питона.
:wq
--
Live free or die
По поводу ереси :), мне и
По поводу ереси :), мне и самому стрёмно ставить что-то без Portage. Я хочу Theano поставить через этот ebuild
https://github.com/npinto/sekyfsr-gentoo-overlay/blob/master/sci-libs/Theano/Theano-9999.ebuild
Я так понял, что установится последняя версия, т.е. 0.9.0.
Сейчас как раз разбираюсь с подключением оверлеев.
Единственное, что хочу установить без portage - это cuDNN. https://developer.nvidia.com/rdp/cudnn-download. Там просто в установленную папку с CUDA (/opt/cuda) нужно в соответсвующие директории /opt/cuda/lib64 и /opt/cuda/include запихнуть несколько файлов из .tgz архива, я думаю, что это не сильно критично. Просто я про это буду помнить и всё.
А так стараюсь ко всему искать ebuild'ы, а то мало ли куда чего пихается - потом не удалишь, если что :) Кстати, может быть даже для cuDNN буду ebuild использовать - вот этот http://data.gpo.zugaina.org/cynede/dev-libs/nvidia-cuda-cudnn/, единственное - это просто подсуну этому ebuild'у последнюю версию cuDNN - v6.0 ну и в ebuild подправлю название с PKG="cudnn-8.0-linux-x64-v5.1" на PKG="cudnn-8.0-linux-x64-v6.0" и в функции
src_install() {
cd "${S}"
pushd "lib64"
dolib.so libcudnn*.so*
dolib.a libcudnn_static.a
popd
pushd "include"
insinto /usr/include
doins cudnn.h
popd
}
insinto /usr/include поменяю на insinto /opt/cuda/include. Хотя на счет последнего не уверен - может быть это не нужно делать. Может быть просто в LD_LIBRARY_PATH добавлю /usr/include - не знаю как лучше, ну попробую и так и так и посмотрю на результат :)
А вот с этим не разобрался пока. Как лучше сделать? В make.conf указать
PYTHON_TARGETS="python3_4 python2_7"
PYTHON_SINGLE_TARGET="python3_4"
USE_PYTHON="3.4"
или сделать
ws-pc white_shark # eselect python list
Available Python interpreters, in order of preference:
[1] python3.4
[2] python2.7 (fallback)
ws-pc white_shark # eselect python set 1
Или и то, и то?
Обычный путь обновления
Обычный путь обновления ebuild - скопировать его в файл отражающий имя новой версии и попробовать собрать. По идее, нормально написанный ебилд должен это пережить. Сдеесь почему-то не отражена версия компонента в названии потому надо переименовать архив... insinto /usr/include менять не надо, это файлы заголовков, часто того самого -dev пакета из других дистурибутивов.
Насчет питона я не понял, в предложенном ебилде его нету. Кому и когда он нужен?
Сдеесь почему-то не отражена
Попробую собрать этот ebuild, но похоже, что проще руками запихнуть эти 3 файла. С версией пакета тоже не совсем понятно. Я вчера немного пытался разобраться с тем, как устроены ebuild'ы. За версию пакета отвечает переменная ${PV}, за полное имя - ${P}, но в этом ebuild'е эти переменные нигде не встречаются. Поэтому, переименование пакета, вроде бы, ни к чему привести не должно, или я не прав? На самом деле эта cuDNN даже под виндой устанавливается руками - нужно распихать соответствующие библиотеки в соответствующие папки в установленной CUDA-toolkit. Там всего 3 файла.
Понял, спасибо за разъяснение.
Да это мне Anarchist скорее всего "на будущее" сказал. Понятно, что я дальше буду Theano, pygpuarray, OpenBLAS и прочие питоновские библиотеки ставить - он и посоветовал, предостерег :) Вот сейчас как раз буду с PYTHON_TARGETS и PYTHON_SINGLE_TARGET разбираться, а то мне сейчас придется через pip ставить пакет, для которого я не смог найти ebuid. scikit-cuda или skcuda называется http://scikit-cuda.readthedocs.io/en/latest/. Буду ставить так
В этом случае, если я правильно понял, нужно указать для какого питона (мне нужен 3.4) требуется установить этот пакет (scikit-cuda). И, видимо, как-то нужно использовать флаги PYTHON_TARGETS и PYTHON_SINGLE_TARGET, но пока не разобрался как правильно :)
.
Необходимое условие — неизменность договорённостей об именовании и адреса размещения upstream'ом.
:wq
--
Live free or die