Pipenv: ПослСдняя Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π° ΠΊΠ°ΠΊ локальная ΠΈ рСдактируСмая

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 1 ΠΎΠΊΡ‚. 2020  Β·  9ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: pypa/pipenv

Ознакомился с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ

ОписаниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

ПослСдний внСшний ΠΏΠ°ΠΊΠ΅Ρ‚, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ„Π°ΠΉΠ»Π° 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 ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ я Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ, являСтся ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½Ρ‹ΠΌ, ΠΈ мСня бСспокоит ΡƒΡ‚Π΅Ρ‡ΠΊΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ нашСй срСдС (ΠΈΠ»ΠΈ наша ΠΊΠΎΠΌΠ°Π½Π΄Π° бСзопасности ΠΊΡ€ΠΈΡ‡ΠΈΡ‚ ΠΌΠ½Π΅: смССтся :). Если Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΠΌΠΎΠ³Ρƒ ΠΏΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, я Π±Ρ‹Π» Π±Ρ‹ Ρ€Π°Π΄, просто Π½Π΅ Ρ…ΠΎΡ‚Π΅Π» Ρ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ всС сразу.

Бпасибо, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π»ΠΈ, ΠΈ Π΅Ρ‰Π΅ Ρ€Π°Π·, надСюсь, я просто Ρ‚ΡƒΠΏΠ»ΡŽ.
Благодаря!

Type Vendored Dependencies

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Как ΠΏΡ€ΠΎΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ @jmehnle ΠΈ @patelamol , Π² этом случаС Ρƒ мСня Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° аналогичная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΈΠ· ΠΌΠΎΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

       "zipp": {
            "editable": true,
            "path": "."
        },

МоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»ΠΎΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ pipfile, которая нСбСзопасна / Π²Ρ€Π΅Π΄Π½Π° для послСднСй вСрсии

"zipp": {
            "hashes": [
                "sha256:43f4fa8d8bb313e65d8323a3952ef8756bf40f9a5c3ea7334be23ee4ec8278b6",
                "sha256:b52f22895f4cfce194bc8172f3819ee8de7540aa6d873535a8668b730b8b411f"
            ],
            "version": "==3.2.0"
        }

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ, скоро Π»ΠΈ Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ pipenv с этим исправлСниСм

ВсС 9 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

@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, поэтому я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТу ΠΎ ΡˆΠ°Π³Π°Ρ…:

  1. ΠΌΠ΅Ρ€Π·Π°Π²Π΅Ρ† ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½
  2. pyenv virtualenv 3.7.9 pipenv && pyenv local pipenv && pip install -e .
  3. ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°:
    `` ''
    $ pipenv --version
    pipenv, вСрсия 2020.8.13
$ ~/.pyenv/versions/pipenv/bin/pipenv --version 
pipenv, version 2020.8.13.dev0
```

  1. сдСлал свСТий вСнв с 2020.8.13
  2. Π΄ΠΎΠ±Π°Π²ΠΈΠ» stockquotes == 2.0.0 Π² ΠΌΠΎΠΉ setup.py
  3. ΠΏΠΎΠ±Π΅ΠΆΠ°Π» ~/.pyenv/versions/pipenv/bin/pipenv lock
  4. НСт ΠΊΡƒΠ±ΠΈΠΊΠ°, ошибка отобраТаСтся с
         "wrapt": {
-            "hashes": [
-                "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"
-            ],
-            "version": "==1.12.1"
+            "editable": true,
+            "path": "."
         }
     },

@frostming Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌ вас Π·Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ посмотрСли, с ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅ΠΌ

@gregflynn

  1. сдСлал свСТий вСнв с 2020.8.13

Π­Ρ‚ΠΎΡ‚ шаг Π²Π°ΠΆΠ΅Π½ для воспроизвСдСния ошибки? Π― создаю с мастСром ПипСнв ΠΈ Π½Π΅ ΠΌΠΎΠ³Ρƒ воспроизвСсти. Если Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π· Π΄ΠΎΠΊΠ΅Ρ€Π°.

@gregflynn

  1. сдСлал свСТий вСнв с 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, пропустил это ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ