Julia telepítése és konfigurációja Windows-on

by Benedek Kristóf

Bevezető

A Julia programozási nyelv egyre népszerűbbé válik, mivel egy magas szintű nyelv és a Pythonhoz hasonló szintaxissal rendelkezik, de sebessége összemérhető a C programozási nyelvvel. A Python nagyon kedvelt szintaxisa mellett egyik hátránya, hogy abban az esetben, mikor a műveletek nem vektorosíthatók, vagy nem megoldhatók beépített függvényekkel akkor lassú (fizikusok szemszögéből: a Python nem szereti a sok függvényhívást és az egymásba ágyazott hosszú ciklusokat, azaz elég lassú számos szimuláció esetén). A Julia megtartva a szintaxis nagy részét hivatott C-hez mérhető sebességet biztosítani. Viszont egy fiatal nyelv, ezért időről időre vannak még bugok, illetve nem található olyan kiterjedt kérdés-válasz "irodalom" a StackOverflow-n és más más fórumokon, hogy minden probléma tárgyalva legyen.

Windowsos hibaelhárítás

Az alábbiakban egy nagyon triviális hiba (a GR csomag egy ütközése a nem csak UTF karaktereket tartalmazó felhasználói mappák esetén) megoldása lesz bemutatva. Egy nagyon triviális hiba okozza az ütközést az esetek nagy többségében: ha a felhasználói mappánk (a Users mappában található a C meghajtón) nem csak a standard angol abc karaktereit tartalmazza. Ezt a problémát kétféleképpen is el lehet hárítani.

Az egyiket (körülményesebb - véleményem szerint) ezen a link1 link2 találjátok és ez nem kerül részletezésre itt.

A másik megoldás az lehet, hogy a Julia telepítésekor1 válasszunk ki egy olyan könyvtárat, amely nevében csak standard angol karaktereket tartalmaz (lehetőleg ne a C meghajtón, vagy ha ott, akkor ne a Users, vagy a Program Files mappákban, hanem pl. hozzunk létre mi egy új Julia nevű mappát). Telepítsük ide a Juliát.

Ez nem elég, mert a package-ket még mindig a felhasználó mappánkba teszi. Először is tetszés szerinti helyre hozzunk létre egy csak angol karaktereket tartalmazó nevű mappát. Idekerülnek majd a package-k. (megj.: Legyen hely a meghajtón ahova létrehozzuk ezt a könyvtárat, mert a csomagok nagy helyet is foglalhatnak, főleg ha többet telepítünk (egészen 6-10 GB méretig).).

Ez után nyissuk meg a Juliát és írjuk be az alábbi parancsot:

Jegyezzük meg az utolsó két sort (pl. másoljuk ki egy üres dokumentumba).

Ezek után keressük meg a Julia telepítési mappát és ott az etc/julia almappában nyissuk meg egy szövegszerkeszőtvel a startup.jl állományt majd adjuk hozza a következő sorokat:

Megjegyzések

  1. Ne felejtsük el a System variables-hez adni a Juliát, úgy ahogy azt a telepítési útmutató előírja. Az újabb verzióknál már a telepítés folyamán van erre lehetőség, de megtehetjük manuálisan is, követve az itt leírtakat!

Subsytem Linux - Linux integráció Windows alá

A Julia nyelv egyes program környezete és csomagjai néha ütközhetnek Windowsos könyvtárakkal, vagy a REPL-ben jelenlevő bug-ok miatt (inkább fejlesztés alatt álló csomagok esetén). Linuxos környezet alatt az ütközés jelenléte megszűnik. Az alábbiakban két módszert mutatunk be, amelyek nem teszik szükségessé az operációs rendszer váltást és megoldást jelenthetnek a problémára.

A Sub-sytem Linux (WSL) egy fejlesztő környezet Windows-ra, amelyben egy teljes értékű Linux operációs rendszert kapunk grafikus felület nélkül (a közeljövőben ígérik ennek az integrációját is).

Megjegyzések

  1. A WSL (Windows Subsytem Linux) hajlamos sok RAM-t fogyasztani. 8 GB RAM-nál kevesebb memóriával rendelkező gépekre nem ajánlott telepíteni.
  2. Picit érdekes a file management. Egy kezdő linux felhasználónak nagyon kuszának tűnhet első alkalomra GUI nélkül (számukra ajánlott a Dual Boot első tapasztalatként)

A következő lépésekkel tudjuk telepíteni:

Az alábbi linken megtaláljuk angol nyelven is a lépéseket.

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

Első lépés

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Ezen a ponton indítsuk újra a számítógépünket.

wsl --set-default-version 2

Hagyjuk lefutni a terminált, majd egy hasonló üzenettel találkozunk:

Itt adjunk meg egy tetszőleges felhasználó nevet (tipp: legyen végig kis betűs angol karakteres számokkal esetleg) és egy jelszót.

Készen vagyunk. Innen telepíthetjük a Juliat követve az oldalukon elérhető utasításokat.

Megjegyzés

  1. Itt is, mint Linux esetén elérhetővé tehetjük a Julia környezetet. Ehhez nyissunk meg egy File Explorert tegyük láthatóvá a rejtett fájlokat (View/Nézet -> Hidden items) és file útvonalakhoz írjuk \\wsl$. Itt kapjuk a WSL rendszer fájljait. Menjünk a home könyvtárba és keressük meg a .bashrc fájlt, majd módosítsuk ennek megfelelően. Mostmár egyszerűbb lesz a mentés és a fájlok közti navigáció.

Dual-boot

Az egyetlen hátránya a fenti eljárásnak, hogy kicsit nehézkes a fájl menedzselés, illetve Julia állományok megnyitása is trükkösebb az első körben. Létezik egy másik lehetőség is, amely ugyanúgy biztosítja a Windows rendszer megmaradását és egy grafikus felülettel rendelkező teljes értékű Linuxot is kapunk. Ez a dual-boot.

Gyakorlatilag két operációs rendszerünk lesz az eljárás végén.

A Rufus okos, és ha csak egy pendrive van csatlakoztatva egyből felismeri, hanem az első legördülő listában választhatjuk ki a pendrive-t.

Ezután a Select menü pont alatt válasszuk ki a az Ubuntu.iso kiterjesztésű lemezképét, amelyet letöltöttünk az Első lépésben. Minden más beállítást hagyjunk alapértelmezetten. Ha szeretnénk nevezzük át a pendrive-t a Volume Label opciónál.

Itt jobb klikkel kattintsunk egy meglévő partícióra és válasszuk a Shrink volume opciót (megj. legalább legyen 30 gb szabad helyünk, de ideális az 50-100 gb).

Adjuk meg mekkora részt akarunk leválasztani és kattintsunk a Shrink-re.

Várjuk meg, amíg befejeződik a particionálás és a Rufus.

  1. Kapcsoljuk ki a számítógépet
  2. Csatlakoztassuk a pendrive-t
  3. Indítsuk el a számítógépet úgy hogy a boot menüt hozza be (indítás közben nyomjuk le többször az Esc vagy az F10 billentyűt (számítógép típus és gyártó függő lehet ez, interneten érdemes utánanézni))
  4. A boot menüben válasszuk ki, hogy a pendrive-ról bootoljon (boot option menüben F5/F6billentyűkkel mozgassuk az első helyre)

Innen betölt a Linux egy próba módja, majd megkérdi, hogy akarjuk-e telepíteni. Válasszuk az alábbi lépéseket:

Megj.: A második opciót nem muszáj bepipálni, és, akkor gyorsabb lesz a telepítés (így se lassú, kb 10-20 perc). Utólag úgy is letölti a frissítéseket.

Ez egy FONTOS lépés!!!

Válasszuk ki az előzőleg létrehozott partíciót, ami free space név alatt kell legyen

Készítsünk egy swap area-t, amely tartalék RAM-ként működik (4-8 gb javasolt, a már meglévő RAM függvényében).

Készítsünk a maradék helyből egy gyökér könyvtárat az alábbi módon:

Fontos!!! Válasszuk ezt az opciót, és akkor nem kell más software-t telepíteni. Lehet más bootolási opcióval is próbálkozni, azok is működhetnek, de ez biztos.

Innen elég egyértelmű a folytatás, már csak időzónát, felhasználónevet és jelszót kell választani.

Megjegyzések
  1. Az így kiválasztott boot opció indítás esetén lehetőséget ad a Windows vagy a Linux bootolásának kiválasztására, amelyet nyilakkal tehetünk meg, illetve Enter-el erősíthetjük meg a döntésünk.

    Megeshet, hogy a két boot manager akasztja picit egymást és az úgynevezett gnu grub terminállal találkozunk indítás esetén. Ilyenkor írjuk be az exit szót és nyomjunk Enter-t. Ez vissza kell küldjön a fentebb mutatott bootolási opciókhoz.

    Ezen probléma is megoldható, az internet számos fóruma tárgyalja, az érdekeltek minden további nélkül keressenek rá.

  2. A Linux OS-el vannak problémák csakúgy mint más operációs rendszerekkel. Azok a felhasználók, akik valamilyen különlegesebb hardware-kkel rendelkeznek (pl. dedikált videókártya és/vagy hangkártya) azok tapasztalhatnak bootolási és működési zavarokat/hibákat. A problémák nagy részére fórumokon van megoldás, de van néhány amire sajnos még nincs (pl. az acl294-es hangkártyát egyáltalán nem ismeri fel a Linux kernele, egyes nem megfelelő beállítás esetén megtörténhet, hogy nem engedi beírni a jelszavunkat indításkor a dedikált videókártya rossz inicializálása miatt, stb.).

Elérhetőség

WSL-el kapcsolatos, vagy Windowsos hibaelhárításos kérdésekkel kereshetitek Benedek Kristóf hallgatót személyesen vagy emailen.


1 Tiszta Julia telepítést igényel. Töröljétek le előtte a már meglévő Juliat a Control Panel-ből (Vezérlőpult) és a C:/Users//.julia mappát is.