Kirjoittaja Aihe: Python3 ongelma (Freecad ja Elmer) [RATKAISTU]  (Luettu 3215 kertaa)

mpiso

  • Käyttäjä
  • Viestejä: 655
    • Profiili
Python3 ongelma (Freecad ja Elmer) [RATKAISTU]
« : 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?
« Viimeksi muokattu: 13.05.19 - klo:21.48 kirjoittanut mpiso »

nm

  • Käyttäjä
  • Viestejä: 16232
    • Profiili
Vs: Python3 ongelma (Feecad ja Elmer)
« Vastaus #1 : 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.

SuperOscar

  • Käyttäjä
  • Viestejä: 3993
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Python3 ongelma (Feecad ja Elmer)
« Vastaus #2 : 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.
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; NUC: openSUSE Leap 15.5; RPi 1: FreeBSD 13.2-RELEASE; RPi 2: LibreELEC 11

mpiso

  • Käyttäjä
  • Viestejä: 655
    • Profiili
Vs: Python3 ongelma (Feecad ja Elmer)
« Vastaus #3 : 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ä.
« Viimeksi muokattu: 11.05.19 - klo:17.47 kirjoittanut mpiso »

mpiso

  • Käyttäjä
  • Viestejä: 655
    • Profiili
Vs: Python3 ongelma (Feecad ja Elmer)
« Vastaus #4 : 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.

New_user

  • Käyttäjä
  • Viestejä: 1242
    • Profiili
Vs: Python3 ongelma (Freecad ja Elmer) [RATKAISTU]
« Vastaus #5 : 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.

mpiso

  • Käyttäjä
  • Viestejä: 655
    • Profiili
Vs: Python3 ongelma (Freecad ja Elmer) [RATKAISTU]
« Vastaus #6 : 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.