ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ python 3 windows
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ venv ΠΈ virtualenv Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Python
ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄Ρ (ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Python 3 ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΎΠ½Π½ΠΎΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΡΠΎΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ ΡΡΠ΅Π΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ². Π‘Π°ΠΌΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠ΅ΡΡ ΠΏΠΎΠΉΠ΄Π΅Ρ ΠΏΡΠΎ venv, virtualenv ΠΈ virtualenvwrapper.
ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ ΠΏΠΎΡΡΡ
ΠΠ»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄Ρ?
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΊΡΠΈΠΏΡΠ° ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ (ΠΏΠ°ΠΊΠ΅ΡΡ). ΠΡΠ»ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ Π΄Π²ΡΠΌΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ Π²Π°Ρ ΠΎΡ ΡΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π ΡΠ°ΠΊΠΎΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, ΡΠ²ΠΎΠΉ pip ΠΈ Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ Π½Π΅ΠΌΡ. Π’Π°ΠΊ ΠΆΠ΅, Π²Π΅ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΠΊΠ°ΠΊ ΠΏΠ°ΠΏΠΊΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Python Π² ΡΠ°Π·Π½ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄Π°Ρ , ΡΡΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Ρ virtualenv
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ Π² Python, ΡΡΠΎ virtualenv. ΠΠ»Ρ Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π° Windows Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π° Linux ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , Π΄Π»Ρ Python 3, ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°ΠΊΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ sudo, ΡΠΎ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ ΠΠ‘ Ρ Π²Π°Ρ ΠΏΠΎΡΠ²ΡΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ. Π CentOS ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ Π²ΠΎΠ²ΡΠ΅, Π° Π² Ubuntu Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ:
ΠΠ°Π»Π΅Π΅, Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ Linux ΠΈΠ»ΠΈ Windows, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΡΠ°Π²ΠΊΠΈ:
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Python 3.6, ΠΈ ΡΠ°ΠΊ Ρ ΡΠΎΠ·Π΄Π°ΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΏΠΊΠ΅ projectname/venv:
Π‘ΠΏΠΎΡΠΎΠ± Π²ΡΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ. ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ Π΄ΠΈΡΠΊΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΏΡΡΡ. Π’Π°ΠΊ ΠΆΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ «-p» Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΎΠ΄Π½Ρ Π²Π΅ΡΡΠΈΡ Python. ΠΠ°ΡΠΈΠ°Π½Ρ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π½Π° Windows:
Π‘Π°ΠΌΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π’Π°ΠΊΡΡ ΡΡΡΡΠΊΡΡΡΡ Π±ΡΠ΄Π΅Ρ Π»Π΅Π³ΡΠ΅ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡ. Π― ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ:
ΠΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΈ Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎ Π±Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π½Π°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ. Π ΡΠ°Π·Π½ΡΡ ΠΠ‘ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ.
Π ΡΠ»ΡΡΠ°ΡΡ Ρ Linux ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ Π΄ΠΎ venv/bin/activate:
ΠΠ»Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ Π² Windows, Π² ΠΏΠ°ΠΏΠΊΠ΅ venv\Scripts Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²:
ΠΠ»Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ Π΄ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
Π ΡΠΎΠΌ ΡΡΠΎ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π½Π°Π΄ΠΏΠΈΡΠΈ:
ΠΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ°Π²Π½ΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π²Π½ΡΡΡΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π²Π½Π΅:
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΡΠΎΠΉ ΡΡΠ΅Π΄Π΅.
ΠΠ»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ CMD, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ»Ρ CMD Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΡΡ Π΄ΠΎ ΡΠ°ΠΉΠ»Π° «venv\Scripts\deactivate.bat».
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π΄Π°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· virtualenvwrapper
ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΡΠΈΡΡ Python, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ virtualenvwrapper. ΠΡΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΡ Π΄Π»Ρ virtualenv Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π²Π°ΡΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΊ:
ΠΠ»Ρ Windows Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ:
ΠΠ»Ρ Linux Π½ΡΠΆΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ sudo:
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ Linux
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ ΡΠΊΡΠΈΠΏΡΡ Π² Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ:
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ρ ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠ°:
virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader
ΠΠ½Π° ΠΈΡΠΏΡΠ°Π²ΠΈΠ»Π°ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² env Ρ ΠΏΡΡΠ΅ΠΌ Π΄ΠΎ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°:
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ Windows
ΠΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠΎΠ·Π΄Π°Π½Ρ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΏΠΎ ΠΏΡΡΠΈ «C:\Users\%USERNAME%\Envs». ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ WORKON_HOME Ρ Π½ΡΠΆΠ½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠ΅ΠΉ:
ΠΠ°ΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, Π² ΡΠ»ΡΡΠ°Π΅ Ρ Windows, ΠΊΠΎΠΌΠ°Π½Π΄Ρ virtualenvwrapper Π½Π΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Powershell. ΠΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· CMD.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΠ°Π»Π΅Π΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅):
Π’Π°ΠΊ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄Ρ:
Π’Π°ΠΊ Π²ΡΠΉΠ΄Π΅ΠΌ ΠΈΠ· ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ:
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΡΡ Π²Π΅ΡΡΠΈΡ Python:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ Python venv
Π Π°Π½Π΅Π΅, Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ Python >= 3.6 Π±Π°Π·ΠΎΠ²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠ»Π° Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ pyenv, Π½ΠΎ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠ½ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ. ΠΠ° Π΅Π³ΠΎ ΡΠΌΠ΅Π½Ρ ΠΏΡΠΈΡΠ΅Π» venv. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²Π΅ΡΡΠΈΡΡ ΠΠ‘ (Ubuntu/Debian) ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π΅Π³ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°:
ΠΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠΎ ΡΡΠΎ ΠΏΠ°ΠΊΠ΅Ρ venv ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊ:
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄Ρ:
ΠΡΠ±ΡΠ°Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ Python ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π±ΡΠ΄ΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Ρ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΏΠ°ΠΏΠΊΡ.
ΠΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π² Pycharm
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ IDE, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Pycharm, ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ . Π Pycharm Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΡΠΈΠ²ΡΠ·Π°Π² Π΅Π³ΠΎ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ.
ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΉΡΠΈ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΏΡΡΠΈ:
Π Π½ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π²ΡΠ±ΡΠ°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΈ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ:
ΠΠ»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΠ°ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΉΡΠΈ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
ΠΠΎ Π²ΠΊΠ»Π°Π΄Π΅ «Python Interpreter» Π±ΡΠ΄Π΅Ρ Π²ΡΠ±ΠΎΡ ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² (1). ΠΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ (2):
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Requirements.txt
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΉΠ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ ΡΠΎΠ±ΡΠ°Π½Ρ Π²ΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΌΡ ΡΡΠ°Π·Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ.
Π’Π°ΠΊ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΡΠΈΡΠ°Π΅ΠΌΠΎΠΌ pip:
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΌΡ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ Π² ΡΠ°ΠΉΠ» Requirements.txt (ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Bash/CMD/Powershell):
ΠΠ° Π΄ΡΡΠ³ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅/ΡΡΠ΅Π΄Π΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ Π±ΡΡΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ Python 3 Π² IDE PyCharm
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python ΡΡΠΈΡΠ°Π΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠΌ. ΠΠ° Π½Π΅ΠΌ Π»Π΅Π³ΡΠ΅ ΠΈ Π±ΡΡΡΡΠ΅Π΅ ΠΏΠΈΡΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ»Ρ Python ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΡΠ΅ΡΠ°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ. ΠΡΡΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΈ ΠΌΠΈΠ½ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π½ΡΠ°Π½ΡΡ, Π½ΠΎ ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΡΠ΅ΠΌΠ°.
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ Ρ Π²ΠΈΠΆΡ, ΠΊΠ°ΠΊ ΠΌΠΎΠΈ Π·Π½Π°ΠΊΠΎΠΌΡΠ΅ ΠΈ Π΄ΡΡΠ·ΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΈΠ·ΡΡΠ°ΡΡ Python ΠΈ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΠΎΠ² ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π½Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈ Π΄Π°ΠΆΠ΅, ΠΌΠΎΠ³ΡΡ Π½Π΅ ΡΠΏΡΠ°Π²ΠΈΡΡΡΡ Ρ ΡΡΠΈΠΌ ΠΈ Π·Π°Π±ΠΈΡΡ Π½Π° Π½Π΅Ρ. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π², ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ.
Π‘ΡΠ°ΡΡΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π±Π°Π·ΠΎΠ²ΡΡ Π²Π΅ΡΠ΅ΠΉ: Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Python 3, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Pip ΠΈ Virtualenv ΠΈ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ PyCharm Π² Windows ΠΈ Π² Ubuntu. ΠΠ»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΡΠΎ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ ΡΠΆΠ΅ Π²ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ.
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎ, ΡΠ°Π΄ΠΈ ΡΠ΅Π³ΠΎ Π·Π°Π΄ΡΠΌΡΠ²Π°Π»Π°ΡΡ ΡΡΠ°ΡΡΡ, Ρ ΠΏΠΎΠΊΠ°ΠΆΡ ΠΊΠ°ΠΊ Π² PyCharm ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π² Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Pip.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Python ΠΈ Pip
Pip ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ Python. ΠΠΌΠ΅Π½Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π³ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ/Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². Π Windows Pip ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ Python. Π Ubuntu Pip ΡΡΠ°Π²ΠΈΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Python ΠΈ Pip Π² Windows
ΠΠ»Ρ windows Π·Π°Ρ ΠΎΠ΄ΠΈΠΌ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ, Π³Π΄Π΅ Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Python. Π£ ΠΌΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Python 3.6.8, ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ LLVM 9 ΡΡΠ΅Π±ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Python 3.6.
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΡΠ°Π²ΠΈΠΌ Π³Π°Π»ΠΎΡΠΊΡ Π²ΠΎΠ·Π»Π΅ Add Python 3.x to PATH ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Install Now:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Python ΠΈ Pip Π² Ubuntu
Π Ubuntu ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Python 3 ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠΌΠΈΠ½Π°Π». ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π΅Π³ΠΎ ΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. ΠΡΠΎΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²Π΅ΡΡΠΈΡ Python.
ΠΠ°Π»Π΅Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Pip ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ Π΅Π³ΠΎ. ΠΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ ΡΠ΅ΡΡΠΈΡ (ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ), ΠΈΠ½Π°ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠ·ΠΎΠ²Π° Pip.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Pip
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Pip Π² ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Windows ΠΈ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ Ubuntu.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° VirtualEnv ΠΈ VirtualEnvWrapper
VirtualEnv ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Python ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ΄Π½Ρ Π²Π΅ΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈ Π΄ΡΡΠ³Ρ Π΄Π»Ρ Π²ΡΠΎΡΠΎΠΉ. ΠΡΡ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ VirtualEnv ΠΏΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° VirtualEnv ΠΈ VirtualEnvWrapper Π² Windows
Π ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° VirtualEnv ΠΈ VirtualEnvWrapper Π² Ubuntu
ΠΠ»Ρ Ubuntu ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ:
ΠΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠΉ Π² ΠΊΠΎΠ½Π΅Ρ
Π Π°Π±ΠΎΡΠ° Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ VirtualEnv
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ VirtualEnv Π² ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Windows ΠΈ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ Ubuntu.
ΠΠΎΠΌΠ°Π½Π΄Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
mkvirtualenv env-name | Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ |
workon | Π‘ΠΌΠΎΡΡΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ |
workon env-name | ΠΠ΅Π½ΡΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ |
deactivate | ΠΡΡ ΠΎΠ΄ΠΈΠΌ ΠΈΠ· ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ |
rmvirtualenv env-name | Π£Π΄Π°Π»ΡΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ |
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyCharm
PyCharm β ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python. ΠΠ±Π»Π°Π΄Π°Π΅Ρ Π²ΡΠ΅ΠΌΠΈ Π±Π°Π·ΠΎΠ²ΡΠΌΠΈ Π²Π΅ΡΠ°ΠΌΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ Ρ ΠΎΡΠΎΡΠ΅Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ PyCharm Ρ VirtualEnv ΠΈ Pip, ΡΠ΅ΠΌ ΠΌΡ ΠΈ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyCharm Π² Windows
Π‘ΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ PyCharm Community Π΄Π»Ρ Windows Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° JetBrains. ΠΡΠ»ΠΈ ΡΠΌΠ΅Π΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΡΠΌΠΌΡ Ρ ΡΠΊΠ°ΡΠ΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎ Π½Π΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
Π ΡΠ°ΠΌΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π΅ΡΡ. ΠΠΎ ΡΡΡΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ next, ΠΈ Π² Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Install. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ±ΡΠ°ΡΡ Π²Π΅ΡΡΠΈΡ ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, Ρ.ΠΊ. PyCharm ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΈ ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΡΡΠ°Π½Π΅Ρ Π½Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyCharm Π² Ubuntu
Π‘ΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ PyCharm Community Π΄Π»Ρ Linux Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° JetBrains. ΠΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΡΠΌΠΌ, ΡΠ°ΠΊ ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΠΌΠ΅Π΅ΡΠ΅, Π½Π΅ Π»Π΅Π½ΠΈΡΠ΅ΡΡ Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ.
Π’Π΅ΠΏΠ΅ΡΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
ΠΠ°Π»Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅:
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ. Π ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ Π½Π΅ Π·Π°Π±ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ desktop ΡΠ°ΠΉΠ» Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° PyCharm. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΠΊΠ½Π΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΏΡΠ°Π²ΠΎΠΌ ΡΠ³Π»Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Configure β Create Desktop Entry.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyCharm Π² Ubuntu ΠΈΠ· snap-ΠΏΠ°ΠΊΠ΅ΡΠ°
PyCharm ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈΠ· snap-ΠΏΠ°ΠΊΠ΅ΡΠ°. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Ubuntu 16.04 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ PyCharm ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ VirtualEnv ΠΈ Pip Π² PyCharm
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Pip ΠΈ Virtualenv Π² PyCharm ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΡΠΆΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π΄Π°Π²Π½ΠΎ. ΠΠ½ΠΎΠ³Π΄Π° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΠ°Π±ΠΎΡΡ Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΠΌΠΈ:
ΠΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΡΡΠ΅ΠΌΡ Π³ΡΠ°ΡΠΈΠΊΠ°ΠΌΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΠ°ΡΡΡΠ° ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ matplotlib ΠΈ numpy, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ PyCharm ΠΈ ΠΎΠΊΠ½Π΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Create New Project.
Π ΠΌΠ°ΡΡΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π² ΠΏΠΎΠ»Π΅ Location ΠΏΡΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΌΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ‘first_program’.
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ File β Settings. ΠΠ΄Π΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² Project: project_name β Project Interpreter.
ΠΠ΄Π΅ΡΡ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². Π Π½Π°ΡΠ°Π»Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° ΠΏΠ°ΠΊΠ΅ΡΠ°: pip ΠΈ setuptools.
Π‘ΠΏΡΠ°Π²Π° ΠΎΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Ρ ΡΠ΅ΡΡΡΡΠΌΡ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ:
ΠΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ (ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ) Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΏΠ»ΡΡ. Π ΠΏΠΎΠ»Π΅ ΠΏΠΎΠΈΡΠΊΠ° Π²Π²ΠΎΠ΄ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π±ΡΠ΄Π΅ΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ matplotlib. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ΅ΡΠ΅Π· Specify version ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π²Π΅ΡΡΠΈΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈ ΡΠ΅ΡΠ΅Π· Options ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. Π‘Π΅ΠΉΡΠ°Ρ Π΄Π»Ρ matplotlib Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ . ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Install Package.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π°ΠΊΡΡΠ²Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΡΡ ΠΏΠ°ΠΊΠ΅Ρ matplotlib Ρ Π΅Π³ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ. Π ΡΠΎΠΌ, ΡΠΈΡΠ»Π΅ Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ numpy. ΠΡΡ ΠΎΠ΄ΠΈΠΌ ΠΈΠ· Π½Π°ΡΡΡΠΎΠ΅ΠΊ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, first.py. ΠΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:
ΠΠ°Π»Π΅Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π² ΠΏΠΎΠ»Π΅ Name ΠΈΠΌΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈ Π² ΠΏΠΎΠ»Π΅ Script path ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Python ΡΠ°ΠΉΠ»Π° Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π΅ ΡΡΠΎΠ³Π°Π΅ΠΌ. Π Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Apply, Π·Π°ΡΠ΅ΠΌ Π½Π° OK.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠ°ΠΉΠ» gauss.png :
ΠΡΠΎΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
ΠΠ°Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·ΡΡΠ°Π΅ΠΌ PySide2 ΠΈ Π½Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½Π°ΠΊΠ»Π°Π΄Π½ΠΎ. ΠΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ, ΡΠ°ΠΊΠΆΠ΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π΄ΠΈΡΠΊΠ°Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ.
ΠΠΎΠ»Π΅Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ Π½ΡΠΆΠ½ΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ. Π Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ PySide2, ΠΊΡΠ΄Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π΄Π°Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ. ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ PySide2 ΠΈΠ· ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΌΠ΅ΡΠΊΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π²Π΅ΡΡΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ PySide2.
ΠΠ°Π»Π΅Π΅ Π² ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ PySide2, ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΌΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈ matplotlib. Π Π²ΡΡ ΠΎΠ΄ΠΈΠΌ ΠΈΠ· Π½Π°ΡΡΡΠΎΠ΅ΠΊ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ PySide2. Π ΠΎΠΊΠ½Π΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Create New Project.
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΠΉΠ» second.py ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ΠΎΠΌ:
ΠΠ°Π»Π΅Π΅ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°. ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π£ ΠΌΠ΅Π½Ρ Π½Π΅Ρ Π±ΠΎΠ³Π°ΡΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Python. Π Ρ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ IDE Π΄Π»Ρ Python. ΠΠΎΡΡΠΎΠΌΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°Π½Π½ΡΠ΅ IDE ΡΠ°ΠΊΠΆΠ΅ ΡΠΌΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Pip ΠΈ Virtualenv. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Pip ΠΈ Virtualenv ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΈΠ»ΠΈ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ΅ΡΠ΅Π· Pip ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π²Π΅ΡΡΠΈΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. ΠΡΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π±Π΅Π· Pip. Π’Π°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Virtualenv.
Π ΠΎΠ±ΡΠ΅ΠΌ, Ρ Π»ΠΈΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°ΡΡΡΡ ΠΎΠΏΡΡΠ° ΠΈΠ· Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΠΎ, Π΅ΡΠ»ΠΈ Π½Π΅ Π²Π΄Π°Π²Π°ΡΡΡΡ Π² Π³Π»ΡΠ±ΠΎΠΊΠΈΠ΅ Π΄Π΅Π±ΡΠΈ, ΡΠΎ ΡΡΠΎΠ³ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π½Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Python Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
ΠΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΡΡΠ΅Π΄Π° Python β ΠΡΠ½ΠΎΠ²Ρ
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠΌΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π² Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ Python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Python Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Ρ ΡΠ°Π½ΡΡΡΡ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Python.
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΡΡΠ΅Π΄Π°?
Python, ΠΊΠ°ΠΊ ΠΈ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ, ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°Π³ΡΡΠ·ΠΊΠΈ, Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² (ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ). ΠΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ Π±ΡΠ»ΠΈ ΠΏΡΠΈΠ½ΡΡΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π½Π° ΡΡΠ΅Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π»ΠΈ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: ΠΊΠ°ΠΊ ΠΈ Π³Π΄Π΅ ΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ Ρ ΡΠ°Π½ΡΡΡΡ?
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΡΡ Ρ ΡΠ°Π½ΡΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ ΡΠ°Π½ΡΡΡΡ Π² Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Ρ ΡΠ°Π½ΠΈΡΡΡ Π² sys.prefix.
ΠΡΡΡ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ Python?
ΠΠ° Π½Π°ΡΠ΅ΠΌ ΡΠΎΡΡΠΌΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°ΡΡ Π»ΡΠ±ΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ²Π΅Ρ ΠΎΡ Π²ΡΠ΅Π³ΠΎ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°!
Telegram Π§Π°Ρ & ΠΠ°Π½Π°Π»
ΠΡΡΡΠΏΠΈΡΠ΅ Π² Π½Π°Ρ Π΄ΡΡΠΆΠ½ΡΠΉ ΡΠ°Ρ ΠΏΠΎ Python ΠΈ Π½Π°ΡΠ½ΠΈΡΠ΅ ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ Π΅Π΄ΠΈΠ½ΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌΠΈ! Π‘ΡΠ°Π½ΡΡΠ΅ ΡΠ°ΡΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°!
ΠΠ°Π±Π»ΠΈΠΊ VK
ΠΠ΄Π½ΠΎ ΠΈΠ· ΡΠ°ΠΌΡΡ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ² ΠΏΠΎ Python Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΠ. ΠΠΈΠ΄Π΅ΠΎ ΡΡΠΎΠΊΠΈ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ Π΄Π»Ρ Π²Π°Ρ!
ΠΠ° Mac OS X, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡΠΈ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ sys.prefix ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Python:
Π Π½Π°ΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ Π² Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ easy_install ΠΈΠ»ΠΈ pip, ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ site.getsitepackages:
ΠΠ°ΡΠ΅ΠΌ Π½Π°ΠΌ Π²ΡΠ΅ ΡΡΠΈ Π΄Π΅ΡΠ°Π»ΠΈ?
ΠΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ± ΡΡΠΎΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² (ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ ΡΡΠΎ Π½Π΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ΅ΠΌ-ΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ. ΠΡΠΎ ΡΠ°ΠΊ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΡΠ²Π»ΡΡΡΠΈΡ ΡΡ ΡΠ°ΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Python β Π½ΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ β ΡΡΠΎ Π΄ΡΡΠ³ΠΎΠ΅ Π΄Π΅Π»ΠΎ.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, Π³Π΄Π΅ Ρ Π²Π°Ρ Π΅ΡΡΡ Π΄Π²Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°: ΠΏΡΠΎΠ΅ΠΊΡ Π ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ Π, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π° ΠΈΠΌΠ΅ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΎΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ β ΠΏΡΠΎΠ΅ΠΊΡ Π. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ²Π½ΠΎΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Π Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π²Π΅ΡΡΠΈΡ 1.0.0, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΅ΠΊΡ Π Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ 2.0.0, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ.
ΠΡΠΎ Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Python, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡ Π²Π΅ΡΡΠΈΠΈ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Β«site-packagesΒ». Π’Π°ΠΊ ΡΡΠΎ ΠΎΠ±Π΅ Π²Π΅ΡΡΠΈΠΈ 1.0.0 ΠΈ 2.0.0 Π±ΡΠ΄ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅:
Π ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ, ΡΠΎ Π½Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΎΠ΅ΠΊΡΡ Π ΠΈ Π Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ Π²Π΅ΡΡΠΈΡ, ΡΡΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ.
Π’ΡΡ-ΡΠΎ ΠΈ Π²ΡΡΡΠΏΠ°Π΅Ρ Π² ΠΈΠ³ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΡΡΠ΅Π΄Π° (Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ virtualenv/ven)
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΡΡΠ΅Π΄Π°?
Π ΠΊΠΎΡΠ½Π΅ ΡΠ²ΠΎΠ΅ΠΌ, Π³Π»Π°Π²Π½Π°Ρ Π·Π°Π΄Π°ΡΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ Python β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Python.
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π ΡΠ°ΠΊ, Π² Π½Π°ΡΠ΅ΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Π²Π΅ΡΡ Ρ, Π½Π°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π ΠΈ Π. ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΠ΅Π΄Π°, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠΌΠΎΠΆΠ΅Ρ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ Π»ΡΠ±ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°.
ΠΡΠΎ Ρ ΠΎΡΠΎΡΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π½Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΡΠΎ, Π² ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π½Π°ΡΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΡΡΠ΅Π΄Π°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠ². ΠΠ»ΡΡ, ΠΈΡ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ virtualenv ΠΈΠ»ΠΈ pyenv.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ: Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ Python 3, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ virtualenv ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ pip:
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Python 3, Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ venv, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π²Ρ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° venv, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌ ΠΈ virtualenv ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠΎ Π±ΠΎΠ»ΡΡΠΎΠΌΡ ΡΡΠ΅ΡΡ, ΡΡΠΎ Π΄Π²Π° Π²Π΅ΡΡΠΌΠ° ΡΠ°Π·Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°.
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ Π²Π½ΡΡΡΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°:
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΡΠΎ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
ΠΠΎΠ΄Ρ ΠΎΠ΄ venv Π² Python 3 ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ½ΡΠΆΠ΄Π°Π΅Ρ Π²Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Python 3, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΠΈΠ·Π±Π΅Π³Π°Π΅ΡΠ΅ Π½Π΅Π΄ΠΎΡΠ°Π·ΡΠΌΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ Π²ΡΡΡΠ½Π΅Π½ΠΈΠΈ, ΠΊΠ°ΠΊΠ°Ρ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΡ Python Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π² Π½ΠΎΠ²ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅, ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«envΒ», ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡ ΠΎΠΆΠ° ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ:
Π§ΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΠΈΡ ΠΏΠ°ΠΏΠΊΠ°Ρ ?
ΠΠ°Π»Π΅Π΅, Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΊΠΎΠΏΠΈΠΈ ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Python. ΠΡΠΈ ΡΠ°ΠΉΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΊΠΎΠ΄ Python Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π½ΡΠ½Π΅ΡΠ½Π΅ΠΉ ΡΡΠ΅Π΄Ρ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ ΠΎΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ. ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΎ Π΄Π΅ΡΠ°Π»ΡΠ½Π΅Π΅ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅.
ΠΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΡΠ΅ΠΉΡΠ°Ρ β ΡΠΊΡΠΈΠΏΡΡ activate Π² ΠΏΠ°ΠΏΠΊΠ΅ bin. ΠΡΠΈ ΡΠΊΡΠΈΠΏΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²Π°ΡΠ΅ΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΡΠ΅Π΄Ρ Python ΠΈ Π΅Π³ΠΎ ΡΠ°ΠΉΡΠΎΠ²ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ (ΠΈΠ»ΠΈ ΡΠ΅ΡΡΡΡΡ) ΡΡΠ΅Π΄Ρ Π² ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Β«Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡΒ» ΠΈΡ . Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΠ΅:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π½ΠΎΡΠΈΡ ΠΏΡΠ΅ΡΠΈΠΊΡ Π²Π°ΡΠ΅ΠΉ ΡΡΠ΅Π΄Ρ (Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ β env). ΠΡΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ env Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π°ΠΊΡΠΈΠ²Π΅Π½, ΡΡΠΎ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠΉ ΡΡΠ΅Π΄Ρ.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ bcrypt Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ bcrypt ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π³Π΄Π΅-Π½ΠΈΠ±ΡΠ΄Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅, Π½ΠΎ Π½Π΅ Π² Π½Π°ΡΠ΅ΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅.
Π’Π΅ΠΏΠ΅ΡΡ Π²Π°Ρ ΡΠ΅Π°Π½Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π²Π΅ΡΠ½ΡΠ»ΡΡ Π² Π½ΠΎΡΠΌΡ, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° python ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΠΎΠ±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ Python. ΠΠΎΠΌΠ½ΠΈΡΠ΅: ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠ³Π΄Π° ΡΠ³ΠΎΠ΄Π½ΠΎ, ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΊΡΡΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ bcrypt ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΅Π³ΠΎ Π΄Π»Ρ Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΡΠΎΠ»Ρ:
Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΡ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΠ³Π΄Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΡΡΠ΅Π΄Π° Π°ΠΊΡΠΈΠ²Π½Π°?
Π ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ Π½Π°ΠΌ bcrypt, Π° Π² Π΄ΡΡΠ³ΠΎΠΌ Π΅Π³ΠΎ Π½Π΅Ρ. ΠΡΠΎ ΡΠΎΡ ΡΠΈΠΏ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΈΡΠ΅ΠΌ Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ, ΠΈ ΠΌΡ ΠΊ Π½Π΅ΠΌΡ ΠΏΡΠΈΡΠ»ΠΈ.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΡΡΠ΅Π΄Π°?
Π§ΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ Π²Π²ΠΈΠ΄Ρ ΠΏΠΎΠ΄ Β«Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡΒ» ΡΡΠ΅Π΄Ρ? ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ, ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Π§ΡΠΎΠ±Ρ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°Π·Π½ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² python. Π‘ Β«Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉΒ» ΡΡΠ΅Π΄ΠΎΠΉ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ:
Π’Π΅ΠΏΠ΅ΡΡ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΠΌ ΠΈ ΡΠ½ΠΎΠ²Π° Π·Π°ΠΏΡΡΡΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π² ΡΡΠ΅Π΄Ρ, ΠΌΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΡΡ ΠΊ ΠΈΡΠΏΠΎΠ»Π½ΠΈΠΌΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ python, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΡΠ΅Π΄Ρ $PATH Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΡΡΠ΅ΠΌ Π² $PATH Π΄ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ:
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΊΠ°ΡΠ°Π»ΠΎΠ³ bin Π½Π°ΡΠ΅ΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΡΡΠΈ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² ΠΏΠΎΠΈΡΠΊΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π°ΡΠ΅ΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ Π² Python, Π° Π½Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ.
ΠΡΡΠ³ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ, ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΠΈΠ΅ Python, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Anaconda, ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ Π²Π°ΡΠΈΠΌ ΠΏΡΡΠ΅ΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΡΠ΅ ΠΈΡ . ΠΡΠΎΡΡΠΎ ΠΈΠΌΠ΅ΠΉΡΠ΅ ΡΡΠΎ Π²Π²ΠΈΠ΄Ρ Π½Π° ΡΠ»ΡΡΠ°ΠΉ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΠ΅ΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄Π°ΠΌΠΈ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΈ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ΅Π΄ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
ΠΡΠΎ Π½Π°ΡΠ°Π»ΠΊΠΈΠ²Π°Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡΡ:
ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Python Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΈ Π³Π΄Π΅ ΠΎΠ½ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠ΅Ρ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Python. Π‘ΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°
ΠΠΎΠ³Π΄Π° Python Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ, ΠΎΠ½ ΠΈΡΠ΅Ρ ΠΏΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΠΎΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Python). ΠΠ°Π»Π΅Π΅, ΠΎΠ½ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ sys.prefix ΠΈ sys.exec_prefix ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Ρ ΡΡΠΈΠΌ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΎΠΏΡΡΠΊΠ°Ρ ΡΠ°ΡΡΡ bin Π² ΠΏΡΡΠΈ.
ΠΡΡΡ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΉΡΡ Π² sys.prefix Π΄Π°Π»Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° site-packages, ΠΏΡΡΠ΅ΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ Π½ΠΈΠΌ ΠΏΡΡΠΈ lib/pythonX.X/site-packages/, Π³Π΄Π΅ Π₯.Π₯ β ΡΡΠΎ Π²Π΅ΡΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π²Π°ΠΌΠΈ Python.
Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² /Users/michaelherman/python-virtual-environments/env/bin, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ sys.prefix ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ /Users/michaelherman/python-virtual-environments/env, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ site-packages ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ /Users/michaelherman/python-virtual-environments/env/lib/pythonX.X/site-packages. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΡΠΎΡ ΠΏΡΡΡ Π½Π°Π»ΠΎΠΆΠ΅Π½ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ sys.path, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄ΠΎΠΉ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ virtualenvwrapper
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΡΡΠ΅Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΡΠ΅ΡΠ°Π΅Ρ ΡΡΠ΄ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ, ΠΎΠ½Π° Π½Π΅ ΠΈΠ΄Π΅Π°Π»ΡΠ½Π°. ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄, Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅, Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π²ΠΎΠΊΡΡΠ³ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΌΠΈΠΌΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄Π°ΠΌΠΈ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Ρ ΡΡΠΈΠΌ, Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ virtualenvwrapper, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π±ΠΎΡ ΠΎΠ±Π΅ΡΡΠΎΡΠ½ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π²ΠΎΠΊΡΡΠ³ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° virtualenv.
Π‘Π°ΠΌΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ virtualenvwrapper:
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΠ·ΠΊΠΈΠΌΠΈ, ΠΈΠ»ΠΈ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ, Π²Ρ Π±ΡΡΡΡΠΎ ΠΏΠΎΠΉΠΌΠ΅ΡΠ΅, ΡΡΠΎ ΠΎΠ½ΠΈ β ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΠΈΡΠΌΠ°.
ΠΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ ΠΎΠ±ΡΡΡΠΊΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ pip: