Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: mpiso - 11.05.19 - klo:11.49

Otsikko: Python3 ongelma (Freecad ja Elmer) [RATKAISTU]
Kirjoitti: mpiso - 11.05.19 - klo:11.49
Versiossa 18.04 Freecad 0.18.1 käyttää python3 versiota. Aluksi ei edes Elmer ratkaisijan lisäys piirrepuuhun onnistunut. Virheilmoituksen perusteella löysin ratkaisun netistä. Piti lisätä yksi paketti.

Koodia: [Valitse]
sudo apt install python3-distutils
Sen jälkeen laskenta näytti menevän läpi. Virhe (alla) syntyi kun Elmerin piti palauttaa tulos jälkikäsittelyä varten Freecadiin.

Koodia: [Valitse]
Exception in thread Thread-8:
Traceback (most recent call last):
  File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/share/freecad/Mod/Fem/femsolver/task.py", line 115, in protector
    self.run()
  File "/usr/share/freecad/Mod/Fem/femsolver/elmer/tasks.py", line 107, in run
    self._updateOutput(output)
  File "/usr/share/freecad/Mod/Fem/femsolver/elmer/tasks.py", line 115, in _updateOutput
    self.solver.ElmerOutput.Text = output.decode("utf-8")
AttributeError: 'str' object has no attribute 'decode'

Kun siirrän dokumentin ympäristöön (16.04) missä on käytössä myös Freecad 0.18.1 mutta python2, niin uudelleenlaskenta toimii ja palauttaa tuloksen oikein.

Onko tuossa kysymys siitä, että python3 ei ole taaksepäin täysin yhteensopiva, vai puuttuko minulta jokin paketti tai ympäristömuuttuja?
Otsikko: Vs: Python3 ongelma (Feecad ja Elmer)
Kirjoitti: nm - 11.05.19 - klo:12.05
Onko tuossa kysymys siitä, että python3 ei ole taaksepäin täysin yhteensopiva

Juu. Käyttämäsi Elmer-moduuli ei nähtävästi ole vielä täysin Python 3 -yhteensopiva.
Otsikko: Vs: Python3 ongelma (Feecad ja Elmer)
Kirjoitti: SuperOscar - 11.05.19 - klo:12.06
Onko tuossa kysymys siitä, että python3 ei ole taaksepäin täysin yhteensopiva,

Python 3:ssa merkkijonoilla ei enää ole decode()-metodia. bytes-oliolla olisi, mutta ei se nyt oikeastaan sinua auta, ellet lähde käsin puukottamaan valmiita paketteja.
Otsikko: Vs: Python3 ongelma (Feecad ja Elmer)
Kirjoitti: mpiso - 11.05.19 - klo:15.27
Se tahtoo aina olla tätä kun jotain uudistetaan. Täytyy siis vain odottaa päivitystä. CalculiX kuitenkin toimii. Se on myös oletuksena, eikä Elmer.

Edit: ParaView näyttää tulokset oikein Elmerin laskennan lopuksi tekemästä tiedostosta case0001.vtu. ParaView 5.4.1 käyttää kuitenkin Python versiota 2.7. Ainakaan minä en tuosta pysty päättelemään onko vika Elmerin tiedostossa (.vtu) vai onko Freecad komennot vain jääneet päivittämättä.
Otsikko: Vs: Python3 ongelma (Feecad ja Elmer)
Kirjoitti: mpiso - 12.05.19 - klo:19.05
Myös Freecad avaa tiedoston case0001.vtu aivan oikein, ilman mitään virheilmoitusta. Se on kuitenkin oma tiedosto ja piirrepuussa on vain tulos. Kysymys on ilmeisesti siitä, että koodi joka Freecadissa liittää tuloksen osaksi alkuperäistä piirrepuuta, ei ole Python 3 yhteensopiva. Saatan olla väärässä, korjatkaa jos on parempaa tietoa.

Merkitsen tämän ratkaistuksi, vaikka purkkaratkaisu onkin.
Otsikko: Vs: Python3 ongelma (Freecad ja Elmer) [RATKAISTU]
Kirjoitti: New_user - 19.05.19 - klo:20.03
Jos on jokin ohjelmisto tai laajempi työympäristö, jonka haluaa toimivan, eipä ole todellakaan kiire päivitellä uudempiin käyttisversioihin. Siinä kaivaa vain verta nenästään. En ole välttämättä Ubuntua niin paljoa käyttänyt varsinaiseen hyödylliseen ja tuottavaan, mutta esim. töissä pidin 12.04:n käytössä eläköitymiseeni saakka kesällä 2017 paikkatietojuttujen ja niiden ohjelmistojen takia, mukaan lukien Qgis, Tomcat ja Geoserver. Nyt kotona alla 16.04 ja Gimp/Aftershot Pro 3/Darktable jotka ovat jo vakikäytössä enkä Windowsin puolelle Photariin, tarvitse enää juuri koskea.
Otsikko: Vs: Python3 ongelma (Freecad ja Elmer) [RATKAISTU]
Kirjoitti: mpiso - 19.05.19 - klo:21.54
Näinhän se on, ei kannata päivittää jos toimii. Tietysti jos tuen loppuminen aiheuttaa tietoturvaongelman, niin se on sitten toinen asia. Minä käytin töissä noin 20 vuotta samaa Mathcad 8 ohjelmaa. Windows version vaihtuessa piti aina veikkailla, vieläkö toimii.