ΠΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΡΡ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ ΠΏΠΎ
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Pipfile.lock, Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌΡΠΉ.
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΈΠ· pypi
ΠΠΎΠΉ Pipfile.lock Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΡΠΎΡ diff, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ Π½Π°ΡΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ CI ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ:
"version": "==1.25.10"
},
"wrapt": {
- "hashes": [
- "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"
- ],
- "version": "==1.12.1"
+ "editable": true,
+ "path": "."
}
},
"develop": {
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
flake8 = "3.8.3"
pytest = "5.4.3"
pytest-cov = "2.10.0"
termcolor = "1.1.0"
[packages]
mycli = {editable = true, path = "."}
[requires]
python_version = "3.7"
(mycli ΠΈΠΌΠ΅Π΅Ρ setup.py, ΡΡΠΎΠ±Ρ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π° Π΄Π»Ρ ΡΠ΅Π»ΡΠΊΠ° Π½Π° python, ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π½Π΅ ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ)
ΠΡΠΎΠ΅ΠΊΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ CLI, ΠΈ ΠΌΡ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠ΅ΡΠ΅Π·:
PIPENV_IGNORE_VIRTUALENVS=1 PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy
ΠΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΠΈΠΉ Π½ΠΎΠ²ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ, Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΡ setup.py
ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Ρ:
pipenv lock
ΠΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ» Pipfile.lock, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΌΠΎΡ Π½ΠΎΠ²ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΊΠ°ΠΆΠ΅Π½Π½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ Π°Π»ΡΠ°Π²ΠΈΡΠ° Π² ΡΡΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ wrapt
ΠΈ zipp
)
Π― ΠΌΠΎΠ³Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Pipfile.lock ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
rm -rf Pipfile.lock .venv
ΠΈ
pipenv lock
Π― Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ ΠΎΠΏΡΡΠΊΠ°Ρ Π²ΡΠ²ΠΎΠ΄ pipenv --support
ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌ Ρ ΡΠ°Π±ΠΎΡΠ°Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΠΌ, ΠΈ ΠΌΠ΅Π½Ρ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ ΡΡΠ΅ΡΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π½Π°ΡΠ΅ΠΉ ΡΡΠ΅Π΄Π΅ (ΠΈΠ»ΠΈ Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΊΡΠΈΡΠΈΡ ΠΌΠ½Π΅: ΡΠΌΠ΅Π΅ΡΡΡ :). ΠΡΠ»ΠΈ Π΅ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΌΠΎΠ³Ρ ΠΏΠΎΡΠΈΡΡΠΈΡΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ, Ρ Π±ΡΠ» Π±Ρ ΡΠ°Π΄, ΠΏΡΠΎΡΡΠΎ Π½Π΅ Ρ
ΠΎΡΠ΅Π» ΡΠΈΡΡΠΈΡΡ Π²ΡΠ΅ ΡΡΠ°Π·Ρ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ ΠΏΡΠΎΡΠΈΡΠ°Π»ΠΈ, ΠΈ Π΅ΡΠ΅ ΡΠ°Π·, Π½Π°Π΄Π΅ΡΡΡ, Ρ ΠΏΡΠΎΡΡΠΎ ΡΡΠΏΠ»Ρ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ!
@patelamol, ΠΈ Ρ ΠΌΠΎΠ³Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ pipenv 2020.08.13.
Π― ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Π²ΠΎ Π²ΡΠ΅Ρ
ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
Π²Π΅ΡΡΠΈΡΡ
Π΄ΠΎ 2018.11.26
. ΠΡΠ°ΠΊ, 2018.11.26
Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠ°ΠΊ ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π»ΠΈ @jmehnle ΠΈ @patelamol , Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΈΠ· ΠΌΠΎΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
"zipp": {
"editable": true,
"path": "."
},
ΠΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π»ΠΎΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π²ΡΡΡΠ½ΡΡ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ pipfile, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π° / Π²ΡΠ΅Π΄Π½Π° Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ
"zipp": {
"hashes": [
"sha256:43f4fa8d8bb313e65d8323a3952ef8756bf40f9a5c3ea7334be23ee4ec8278b6",
"sha256:b52f22895f4cfce194bc8172f3819ee8de7540aa6d873535a8668b730b8b411f"
],
"version": "==3.2.0"
}
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΡΠΊΠΎΡΠΎ Π»ΠΈ Π²ΡΠΉΠ΄Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ pipenv Ρ ΡΡΠΈΠΌ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ
@gregflynn @patelamol Π’Π°ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅? Π― Π½Π΅ ΠΌΠΎΠ³Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°Π³ΠΈ
@gregflynn @patelamol Π’Π°ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅? Π― Π½Π΅ ΠΌΠΎΠ³Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°Π³ΠΈ
ΠΠΎΠ½Π΅ΡΠ½ΠΎ! Π― ΡΠ°Π½ΡΡΠ΅ Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π» pipenv ΠΈΠ· github ΠΈ Π½Π΅ Π²ΠΈΠ΄Π΅Π» ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π² README, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΡΠ°Π³Π°Ρ :
pyenv virtualenv 3.7.9 pipenv
&& pyenv local pipenv
&& pip install -e .
$ ~/.pyenv/versions/pipenv/bin/pipenv --version
pipenv, version 2020.8.13.dev0
```
stockquotes == 2.0.0
Π² ΠΌΠΎΠΉ setup.py~/.pyenv/versions/pipenv/bin/pipenv lock
"wrapt": {
- "hashes": [
- "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"
- ],
- "version": "==1.12.1"
+ "editable": true,
+ "path": "."
}
},
@frostming Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠΈΠΌ Π²Π°Ρ Π·Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π° ΡΠΎ, ΡΡΠΎ Π²Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅Π»ΠΈ, Ρ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ΠΌ
@gregflynn
- ΡΠ΄Π΅Π»Π°Π» ΡΠ²Π΅ΠΆΠΈΠΉ Π²Π΅Π½Π² Ρ 2020.8.13
ΠΡΠΎΡ ΡΠ°Π³ Π²Π°ΠΆΠ΅Π½ Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ? Π― ΡΠΎΠ·Π΄Π°Ρ Ρ ΠΌΠ°ΡΡΠ΅ΡΠΎΠΌ ΠΠΈΠΏΠ΅Π½Π² ΠΈ Π½Π΅ ΠΌΠΎΠ³Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ. ΠΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π· Π΄ΠΎΠΊΠ΅ΡΠ°.
@gregflynn
- ΡΠ΄Π΅Π»Π°Π» ΡΠ²Π΅ΠΆΠΈΠΉ Π²Π΅Π½Π² Ρ 2020.8.13
ΠΡΠΎΡ ΡΠ°Π³ Π²Π°ΠΆΠ΅Π½ Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ? Π― ΡΠΎΠ·Π΄Π°Ρ Ρ ΠΌΠ°ΡΡΠ΅ΡΠΎΠΌ ΠΠΈΠΏΠ΅Π½Π² ΠΈ Π½Π΅ ΠΌΠΎΠ³Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ. ΠΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π· Π΄ΠΎΠΊΠ΅ΡΠ°.
Π₯ΠΎΡΠΎΡΠΈΠΉ Π³Π»Π°Π·, Π½ΠΎ Ρ Π²Π½Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΠΌΠΎΠ³ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ. ΠΠ° ΡΠ°Π³Π΅ 4 Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ:
-PIPENV_IGNORE_VIRTUALENVS=1 PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy
+PIPENV_IGNORE_VIRTUALENVS=1 PIPENV_VENV_IN_PROJECT=1 $HOME/.pyenv/versions/pipenv/bin/pipenv install --deploy
ΠΈ Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»:
"wrapt": {
- "hashes": [
- "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"
- ],
- "version": "==1.12.1"
+ "editable": true,
+ "path": "."
}
},
Π Π°Π΄ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π΅ΡΠ΅! Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ
ΠΠΉ, ΠΌΠ½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΡΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ! Π― Π½Π΅ Π·Π°ΠΌΠ΅ΡΠΈΠ», ΡΡΠΎ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ°ΠΊΡΠΎΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ VENV_IN_PROJECT.
ΠΠΉ, ΠΌΠ½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΡΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ! Π― Π½Π΅ Π·Π°ΠΌΠ΅ΡΠΈΠ», ΡΡΠΎ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ°ΠΊΡΠΎΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ VENV_IN_PROJECT.
:ized_hands: ΠΎΡΠ»ΠΈΡΠ½ΡΠ΅ Π½ΠΎΠ²ΠΎΡΡΠΈ! ΠΈΠ·Π²ΠΈΠ½ΠΈΡΠ΅, Ρ Π½Π΅ Π΄Π°Π» Π²Π°ΠΌ Dockerfile, ΠΏΡΠΎΠΏΡΡΡΠΈΠ» ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ΅Π½ΠΈΠΈ
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠ°ΠΊ ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π»ΠΈ @jmehnle ΠΈ @patelamol , Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΈΠ· ΠΌΠΎΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
ΠΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π»ΠΎΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π²ΡΡΡΠ½ΡΡ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ pipfile, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π° / Π²ΡΠ΅Π΄Π½Π° Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΡΠΊΠΎΡΠΎ Π»ΠΈ Π²ΡΠΉΠ΄Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ pipenv Ρ ΡΡΠΈΠΌ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ