Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: vili84 - 25.02.21 - klo:23.22
-
Hei, yritän asentaa PyViennaCl pakettia Ubuntu 20.04:llä ja python 3.8 pipillä
pip install pyviennacl
. Ongelma on että jossain vaiheessa asennus kaatuu virheeseen
external/boost-python-ublas-subset/boost_subset/libs/python/src/converter/builtin_converters.cpp: In function ‘void* pyviennaclboost::python::converter::{anonymous}::convert_to_cstring(PyObject*)’:
external/boost-python-ublas-subset/boost_subset/libs/python/src/converter/builtin_converters.cpp:51:35: error: invalid conversion from ‘const void*’ to ‘void*’ [-fpermissive]
51 | return PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0;
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
.
Ongelma on mahdollisti hieman sama kuin tässä https://stackoverflow.com/questions/54991157/cant-compile-boost-python-1-65-1-with-msvc2015 (https://stackoverflow.com/questions/54991157/cant-compile-boost-python-1-65-1-with-msvc2015) eli luultavasti python versiota vastaavassa boost.pythonissa on jokin virhe ja kyseinen riippuvuus pitäisi päivittää. En vain keksi miten tuon voisi korjata pip asennuksesa?
-
Sain ratkaistua tuon ongelman lataamaalla git repon omalle koneelle ja tekemällä tuon https://stackoverflow.com/questions/54991157/cant-compile-boost-python-1-65-1-with-msvc2015 (https://stackoverflow.com/questions/54991157/cant-compile-boost-python-1-65-1-with-msvc2015) olevan fixin koodiin ja asentamalla manuaalisesti
path/to/venv/python3 setup.py build
path/to/venv/python3 setup.py install
Tuon jälkeen tulee tosin toinen onglelma,liittyen epäyhteensopivaan endianesiin, kun importtaa tuota pakettia pythonissa.
-
Näyttää vanhalta ja hylätyltä projektilta. Onko PyViennaCl:ssä jokin ominaisuus, jota ei ole NumPyssä tai SciPyssä?
-
Scipy:ssä olevat tietyt matriisi laskentaan liittyvät operaatiot löytyy vain sparse matriiseille ja näytti toimivan hieman hitaasti. Tuon takia olisin halunnut kokeilla tuota pyviennacl:ää jossa näyttäisi löytyvän dense matriiseille samat operaatiot ja samoin tuo näyttäisi automaatisesti tukevan gpu:ta. Mutta tosiaan ainakin tuo python wrapperi näyttäisi olevan hylätty, tuo c++ on kai vielä aktiivinen?