Virtuális környezet nélkül nem lehet sikeresen végrehajtani egy valós projektet Pythonban. Az olyan eszközök, mint a virtualenvwrapper és a virtualenv , általánosak a webfejlesztési virtuális környezetek létrehozására és kezelésére, míg az anacondát széles körben használják az adatkutatók .
Vizsgáljuk meg, hogyan hozhatja létre és kezelheti Python virtuális környezeteit a rendelkezésre álló különféle felügyeleti eszközökkel.
Hogyan működnek a virtuális környezetek
Amikor virtuális környezetet hoz létre, utasítja gépét, hogy készítsen egy további ideiglenes Python-példányt. Ez a másolat független a rendszerváltozó Python verziójától. Ha nem ismeri ezt, vessen egy pillantást a Python virtuális környezetek alapjaira .
A létrehozott virtuális környezet nem csak működik; aktiválnod kell. Valójában bármi, amit a virtuális környezeten kívül csinál, nem fog működni aktiválás nélkül. Ez egy módja annak, hogy a globális teret tisztábban tartsa.
Az alapelv az, hogy az A virtuális függőségek nem működnek a virtuális B esetében --- hacsak nem telepíti a függőséget kifejezetten a virtuális B számára.
Ennek ellenére a legtöbb újonc és még néhány szakértő számára is gyakori buktató, hogy az aktiválás előtt telepíti a függőségeit a globális térben. Ez soha nem fog működni; mindig aktiválnia kell a függőségi telepítés előtt.
Mint korábban említettük, a Python számára különböző környezetkezelési eszközök léteznek. Vessünk egy gyors pillantást mindegyikre, beleértve a működésüket és a lehetséges hiányosságaikat.
1. Virtualenv
A Virtualenv egy nagyszerű kezelőeszköz azok számára, akik ismerik az utat. Nagyon egyszerű, bár kezdők számára frusztráló lehet.
Ha virtuális környezetet szeretne létrehozni vele Windows rendszeren, nyisson meg egy Parancssor ablakot a kiválasztott helyen. Írja mkdir [Folder]
, hogy egy új mappát, amely felváltja a szöveget, és zárójelben a választott nevet.
Ezután írja cd [Folder]
be az új könyvtárba lépéshez, majd írja be a parancsot virtualenv [Environment Name]
a virtuális környezet létrehozásához.
Ha még nem ismeri a parancssort, vessen egy pillantást néhány alapvető parancssori parancsra, amelyeket tudnia kell .
Ezután módosítsa a mappákat a virtuális környezetbe a következőképpen: cd [Environment Name]
. Miután belépett a [Környezet neve] mezőbe, írja be a cd Scripts
; biztosítani kell, hogy egy nagybetű S Scripts . Miután belépett a Scripts mappába, aktiválja a virtuális környezetet a következő beírásával activate
.
A virtualenv használatának egyik fő hátránya, hogy az aktiváláshoz a Scripts könyvtárában kell lennie. Ezért sokat kell navigálnia a környéken. Például, ha a projektje egy másik könyvtárban van, vissza kell navigálnia a környezeti parancsfájlok mappából. Ez a folyamat fárasztóvá, zavaróvá és hatástalanná válhat.
Ennek az elfoglaltságnak a csökkentése és az idő megtakarítása érdekében a bevált gyakorlat az, hogy a virtuális környezetet ugyanabba a könyvtárba helyezi, ahol a projektet el kívánja helyezni. Így minden projektnek meglesz a saját környezete a saját mappájában.
Ezzel sok problémától kímélheti meg, amikor megpróbálja előhívni a projektre jellemző virtuális környezetet olyan esetekben, amikor különböző virtuális környezetekkel rendelkezik a különböző projektekhez.
Tekintse meg az alábbi képet, hogyan kell ezt megtenni. Vegye figyelembe, hogy a myproject és a myvirtual a projekt, illetve a virtuális környezet könyvtárai.
2. Virtualenvwrapper
Ahogy a név is sugallja, a virtualenvwrapper az összes környezetet egyetlen mappába csomagolja. A virtualenv-vel ellentétben alapértelmezés szerint létrehozza ezt a mappát, és Envs névvel látja el .
Vegye figyelembe, hogy a virtualenvwrapper telepítési parancsa Windows rendszeren a következő pip install virtualenvwrapper-win
. De pip install virtualenvwrapper
működni fog macOS-en.
Ha virtuális környezetet szeretne létrehozni ezzel az eszközzel, nyissa meg a CMD-t; nem kell navigálnia a projekt mappájába. Miután a parancssorba került, írja be a parancsot mkvirtualenv envname
. Előre aktivált virtuális környezetet hoz létre az Ön számára.
A következő alkalommal, amikor használni kívánja a létrehozott környezetet, jó gyakorlat az, hogy közvetlenül a projekt könyvtárában nyissa meg a parancssort. Ezt úgy teheti meg, hogy megnyitja a projekt mappáját, és beírja a cmd parancsot a panel tetején található nagy navigációs mezőbe.
Miután a CMD-ben van, használja a parancsot workon envname
a virtuális környezet aktiválásához.
Bár ez az eszköz meglehetősen praktikus és könnyen használható, problémát jelent, ha elfelejti az adott projekt környezetének adott nevet. Ez gyakori, ha már több tucat virtuális környezet van abban az Envs mappában.
Azonban időpocsékolás, ha folyamatosan próbálgatni kell az egyes környezeteket, hogy megtudja, melyik működik. A probléma megoldásához mindig törölje a redundáns virtuális környezeteket az Envs mappából.
3. Anaconda Distribution
Az Anaconda disztribúció egy nehéz környezetkezelési megoldás az adattudomány számára. Bár a preferenciáktól függően továbbra is használják a webfejlesztésben. Ez az eszköz egy navigátorral rendelkezik, amely lehetővé teszi környezetek létrehozását és kezelését.
Inkább automatikus, mint manuális, és a virtualenv és a pip csomagok kombinációjaként működik . Ez azt jelenti, hogy mindig használhatja conda install
a függőségek telepítésére a pip helyett . De valamiért úgy tűnik, hogy a conda korlátozott a csomagok telepíthetősége szempontjából.
Ennek a korlátozásnak az egyik megoldása a pip telepítése a conda környezetbe a conda install pip
paranccsal. Egyes esetekben ez nem feltétlenül szükséges, mivel a pip közvetlen meghívása conda környezetben a pip nehéz telepítése nélkül továbbra is működik.
A conda használata azonban nem ajánlott újoncoknak, akik Windows-t használnak, mivel a beállítás bizonyos technikai részleteket igényel. Ez túlmutat ennek a vitának a keretein, de egy gyors ötlethez hozzá kell adnia az Anaconda disztribúciót a rendszer elérési útjához.
Vegye figyelembe, hogy az Anacondának van egy beépített héja is, az úgynevezett Anaconda shell, amely olyan utasításokat hajt végre, mint a CMD. Kipróbálhatja az Anaconda prompt keresésével a Windows keresősávján keresztül.
A conda környezetirányítási eszközként való használatához először telepítenie kell az Anaconda disztribúciót . A letöltés megkezdése előtt győződjön meg arról, hogy a megfelelő operációs rendszert választotta.
Az Anaconda disztribúció beállítása után nyissa meg a parancssort, és írja conda create envname
be a conda virtuális környezetének létrehozásához. Windows-felhasználók számára a conda nem használható közvetlenül a parancssorban. Meg kell hívnia a kötegfájlból a segítségével conda.bat create envname
.
Egy már létrehozott virtuális környezet aktiválásához használja a conda activate envname
. Ha egy Windows felhasználó írja conda.bat activate envname
. Amikor megnyitja az Anaconda Navigatort, az összes elérhető környezet megjelenik a listában.
Verziófrissítés és leminősítés virtuális környezetekben
Ha egy projekten dolgozik, és módosítania kell egy függőség verzióját, ennek egyszerű módja, ha frissít a kívánt verzióra.
Például, ha frissíteni szeretne egy pandas verziót, nyissa meg a CMD-t, és írja be a következőt: python -m pip install --upgrade pandas==0.25
. Ez a parancs eltávolítja a pandák előző verzióját, és telepíti az újonnan kért verziót.
Ez nagyjából ugyanaz, ha egy verziót le kell építeni; mindössze annyit kell tennie, hogy megváltoztatja a verziószámot. Így bármikor válthat a függőségi verziók között egy virtuális környezetben anélkül, hogy áttelepülne egy újba.
Virtuális környezetek elsajátítása Pythonban
Ezek a Python virtuális környezeti eszközök jól jöhetnek, és könnyen kezelhetők. Ne törődj azzal, hogy mások melyiket tartják a „legjobbnak”; inkább a te preferenciádtól függ. A megfelelő eszköz az, amely a legjobban szolgálja projektjét.
Ha többet szeretne megtudni a Pythonról, nézze meg, hogyan programozhatja és vezérelheti Arduino-ját Python segítségével .