Csomagok telepítésére a Python pip segédprogramja használható. Ez egy központi repozitóriumban ellenőrzi a csomag elérhetőségét, és a telepített Python verzióhoz legalkalmasabb csomagot telepíti. A PyPI (Python Package Index) repozitórium elérhető az alábbi linken:
Problémát okozhat viszont, hogy néhány csomag csak forráskód szinten érhető el itt, ezeket pedig megpróbálja lefordítani, és ha a fordítási környezet beállítása nem megfelelő, akkor hibaüzenetet kapunk. Az ehhez szükséges fordítási környezet konfigurációja Windows rendszeren nem feltétlenül egyszerű, ezért ekkor inkább töltsünk le egy bináris csomagot, és telepítsük azt helyette (lásd a whl telepítés részben). Szintén hátrány lehet, hogy bizonyos csomagok esetén nem az aktuálisan legfrissebbet telepíti, jellemzően ilyen az OpenCV is.
A pip ellenőrzi a csomag függőségeket is, és azokat próbálja telepíteni először. Előfordulhat, hogy a telepítés egy másik, függő csomag miatt lesz sikertelen, így figyeljük a hibaüzenetet és a megfelelő csomagot telepítsük bináris csomagból!
pip használat
- Nyissunk parancssort és lépjünk be a Python mappába. A Python értelmezőt nem kell elindítani!
Telepítés indítása például az ipython csomag esetén:
-
- python -m pip.exe install ipython
- Egy csomag eltávolítása az uninstall opcióval megy:
- python -m pip uninstall ipython
Whl telepítés
A whl (wheel) kiterjesztésű csomagok az adott rendszerre binárisan elérhető csomagokat jelentik. Ezeket akkor célszerű használni, ha a pip nem ilyet talál és fordítani próbál, rendszerint sikertelenül.
- Keressünk elérhető bináris csomagot a neten! Figyeljünk arra, hogy a Python verziószám és a 32 vagy 64 bitesség egyezzen a telepített verzióval!
- Windows esetén indulhatunk az alábbi oldalról: Unofficial Windows Binaries for Python Extension Packages.
- Telepítés: python -m pip install "Elérési útvonal\csomag.whl"
A szükséges csomagok közül jelenleg egyik sem igényel whl telepítést.
Windows esetén példaként a fenti oldalon keressük meg a SciPy bejegyzést. Itt 2019 januárjában ez volt látható (a frissebb verziók értelmezése is ugyanilyen módon megy, így ezt nem aktualizáljuk):
SciPy is software for mathematics, science, and engineering.
Install numpy+mkl before installing scipy.
scipy‑0.19.1‑cp27‑cp27m‑win32.whl
scipy‑0.19.1‑cp27‑cp27m‑win_amd64.whl
scipy‑0.19.1‑cp34‑cp34m‑win32.whl
scipy‑0.19.1‑cp34‑cp34m‑win_amd64.whl
scipy‑0.19.1‑cp35‑cp35m‑win32.whl
scipy‑0.19.1‑cp35‑cp35m‑win_amd64.whl
scipy‑0.19.1‑cp36‑cp36m‑win32.whl
scipy‑0.19.1‑cp36‑cp36m‑win_amd64.whl
A fájlnevek értelmezése az alábbi.
- Mindegyik a SciPy 0.19.1 verzióját tartalmazza.
- A fájlnévben a cp utáni két számjegy a Python verziót azonosítja.
- cp27: Python 2.7.x
- cp34: Python 3.4.x
- cp35: Python 3.5.x
- cp36: Python 3.6.x
- A win32 és a win_amd64 pedig a bitszélességet.
- Töltsük le a megfelelő verziót és telepítsük a pip-pel a fent leírt módon!
OpenCV
PyPI csomagnév és link: opencv-contrib-python és opencv-python
Jelenleg (2023. augusztusában) elérhető az OpenCV 2.4.13.7 verzió Python 2.7-hez, valamint a 3.4.16 és 4.7.0 a Python 3 verziókhoz. A jövőre való tekintettel célszerű mindkettőből a legmagasabb verziószámot választani.
A contrib verzió tartalmazza a kiegészítő és tesztelés alatt álló algoritmusokat is. Válasszuk ezt, ha elérhető!
Megjegyezzük, hogy az OpenCV-hez tartozik egy contrib-nonfree rész is, amely a szabadalmi védettséget élvező (= kereskedelmi szoftverekben csak jogdíj fizetése után felhasználható) algoritmusokat tartalmazza. A hivatalosan kiadott OpenCV Python csomagok ezeket a funkciókat nem tartalmazzák! Saját magunk fordíthatunk a C++ forrásból ilyen csomagot, ha szükségünk van ezekre a funkciókra is. A jegyzet ilyen funkciókat nem tárgyal, vagyis a sima contrib csomag elegendő.
SimpleITK
PyPI csomagnév és link: simpleitk
A jelenlegi legfrissebb verzió az 2.2.1. A hivatalos honlap szerint jelenleg a Python 3 verziókon támogatott.
Open3D
PyPI csomagnév és link: open3d
Pontfelhők kezelésére, feldolgozására, regisztrációjára. Figyelni kell, mert sokszor csak lassan követi a Python értelmező verzióváltásait! Könnyen lehet, hogy 1-2 alverzióval korábbi Python-ra lesz szükségünk emaitt!