π Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ venv Π² Python 3 ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ Π½ΡΠΆΠ΅Π½? π€
venv - ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Python, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ venv Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ.
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄Ρ venv Π΄Π»Ρ Python 3, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
python3 -m venv myenv
ΠΠ΄Π΅ myenv - ΡΡΠΎ ΠΈΠΌΡ Π²Π°ΡΠ΅ΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π΅, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΡΠ΅Π΄Ρ:
source myenv/bin/activate
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ venv Π² Python 3?
Π Python 3 venv ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Python, ΠΈΠ·ΠΎΠ»ΠΈΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ - ΡΡΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ Python-ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π±ΡΡΡ ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈΠ»ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
ΠΠΎΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ venv?
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²:
- ΠΠ·ΠΎΠ»ΡΡΠΈΡ: ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ: ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ Π²Π½ΡΡΡΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ, Π½Π΅ Π²Π»ΠΈΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ.
- ΠΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ: ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π°ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ venv?
1. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΈΠ»ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
2. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
python3 -m venv myenv
ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ myenv Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π² Π½Π΅ΠΉ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ.
3. ΠΠΊΡΠΈΠ²ΠΈΡΡΠΉΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ:
Windows:
myenv\Scripts\activate.bat
Unix ΠΈΠ»ΠΈ Linux:
source myenv/bin/activate
ΠΠΎΡΠ»Π΅ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π²Π°ΡΠΈΠΌ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ ΠΈΠΌΡ Π²Π°ΡΠ΅Π³ΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ (myenv).
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅?
1. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π²Π½ΡΡΡΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ pip (ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Python) ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
pip install package_name
2. ΠΡΠΏΠΎΠ»Π½ΡΠΉΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Python Π² Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ.
3. ΠΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΅Π³ΠΎ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
deactivate
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π² Windows, deactivate ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ myenv\Scripts\deactivate.bat.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
venv Π² Python 3 ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ Python. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ venv ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² Python.