Pipenv: Проблема с отслеживанием выпуска за апрель (затем май) 2020 г.

Созданный на 10 дек. 2018  ·  72Комментарии  ·  Источник: pypa/pipenv

Это внутренняя проблема отслеживания, которая будет связана с соответствующими проблемами, которые будут решены / все еще нуждаются в обновлении для целей сокращения выпуска. Это было давно (см. комментарии по этому поводу), и есть предварительная цель выпустить предварительную версию в марте 2020 года.

(Отредактировано @brainwane , чтобы сказать: исправление некоторых сбоев в настройке непрерывной интеграции откладывает выпуск 2020.04.1a1 до -- новая оценка -- 21 апреля 2020 года.)

(Отредактировано @brainwane , чтобы сказать: предварительный выпуск 2020.4.1b1 уже вышел 29 апреля, и Дэн планирует выпустить следующий выпуск примерно через неделю.)

(Отредактировано @brainwane в беседе с Дэном 5 марта 2020 года , а затем в течение марта и апреля)

  • [x] Другие элементы в выпуске за март 2020 г .:

    • [x] #3613 Pipenv устанавливает неправильные пакеты (игнорируя блокировку пакета)

    • [x] #4137 Обновите README и прочитайте проект Docs, чтобы указать на документы на pipenv.pypa.io

  • [x] [Исправить ошибки теста pip-shims ](https://github.com/sarugaku/pip-shims/issues/58) (объединить ветку bugfix/56 )
  • [x] requirementslib исправления:

    • [x] sarugaku/requirementslib#204 requirementslib ошибка анализа AST setup.py для типа без добавления binOps

    • [x] sarugaku/requirementslib#205 Ошибка синтаксического анализа AST для файлов, отличных от utf8 setup.py

    • [x] sarugaku/requirementslib/issues/214 Мы не должны устанавливать обновленные версии тестовых зависимостей в CI

    • [x] калькулятор sarugaku/requirementslib#219 Добавить калькулятор требований для артефактов в PyPI

    • [x] Просмотрите проблемы requirements-lib для других блокировщиков выпуска pipenv.

  • [x] Сделать новые выпуски связанных библиотек:

    • [x] [библиотека требований] (https://pypi.org/project/requirementslib/)

    • [x] [пип-прокладки] (https://pypi.org/project/pip-shims/)

    • [x] [pythonfinder] (https://pypi.org/project/pythonfinder/)

  • [x] Завершить, утвердить и объединить #4169 для устранения отсутствующих зависимостей/импортов.

    • [x] Исправить запись/записи новостей

    • [x] Исправить неверную конфигурацию CI

    • [x] Получить тесты для прохождения

  • [x] Исправить #4188, либо снова запустив ключ API pyup, либо выбрав и реализовав альтернативу.
  • [x] Получить тесты GitHub для передачи на master (пропуская тест, упомянутый в # 4201)
  • [x] Улучшить автоматизацию выпуска, чтобы можно было создавать предварительные выпуски.

    • [x] Создать журнал изменений в черновом режиме

    • [x] Не добавлять теги автоматически и не добавлять теги в репозиторий

  • [x] Обновите и выполните «Локальное тестирование» и «Загрузка выпуска» для контрольного списка упаковки/выпуска.
  • [x] Упакуйте и загрузите предварительную версию pipenv 2020.04.1a1 в PyPI .

Это то, что Дэн собирается сделать к 21 апреля 2020 года. Тогда:

  • [x] Сделайте еще один новый выпуск библиотеки требований , включающий исправление https://github.com/sarugaku/requirementslib/issues/216 .

    • [x] Перезаблокировать зависимости requirementslib

  • [x] Опубликуйте предварительный выпуск и попросите неделю тестирования

    • [x] Особенно тестирование в Windows против бэкэндов PEP 517 и с участием virtualenvs

  • [x] Через ~1 неделю (если нет ошибок showstopper), опубликовать новый релиз

Как другие могут помочь:

Самый полезный комментарий

^ Релиз готов, спасибо всем, кто помогал с тестированием!

Все 72 Комментарий

Кажется, это хорошее место, чтобы спросить о том, когда может быть следующий выпуск, что такое блокировщики и есть ли что-нибудь, чем кто-то может помочь?

Моя команда с нетерпением ждет следующего обновления, особенно по адресу #3298. Остались ли основные блокираторы?

Сегодня я заметил https://github.com/pypa/packaging.python.org/issues/701 и пожертвовал около 90 минут времени, помогая @techalchemy получить больше ясности о том, что мешает ему сделать новый релиз ( беседа в IRC )) . https://github.com/pypa/pipenv/issues/3369#issue -389160510 теперь имеет контрольный список выпуска. @techalchemy может понадобиться помощь с блокировщиками релизов, если @JBKahn или кто-то еще захочет помочь.

@techalchemy : Если посмотреть на проблемы, связанные здесь, многие из них исправлены. Я думаю, было бы неплохо поставить галочки напротив проблем, которые были исправлены, чтобы люди могли видеть прогресс, просто взглянув на первый пост в этой теме (:

@brainwane , @techalchemy , извините за вмешательство и потенциальное невежество, но могу ли я предложить убрать #2227 и/или #3520 из этого релиза? У меня сложилось впечатление, что получить более или менее что-либо выпущенное очень важно и полезно. # 2227 выглядит как новая функция, а # 3520 описан обходной путь (без возражений со стороны репортера).

Точно так же строго необходимо «создавать новые выпуски связанных библиотек» перед выпуском следующего pipenv? Изучая #3613, я обнаружил, что текущая основная ветка просто работает...

Я не утверждаю, что эти проблемы не важны, просто они не должны препятствовать тому, чтобы улучшения, уже находящиеся в мастере, попадали к людям.

Март почти закончился

Похоже, https://github.com/pypa/pipenv/issues/3520 исправлено в текущем мастере, https://github.com/pypa/pipenv/issues/2227 не выглядит критическим исправлением для обновления .

Есть ли что-то, что мешает сообществу помочь? Я счастлив протянуть вам руку. В противном случае я вижу только выпуск обновлений и обновлений документов.

@Froskekongen @amhrasmussen @fridex спасибо за подсказки! Вчера я пожертвовал еще немного времени, и мы с @techalchemy проработали еще несколько важных пунктов в списке .

Если посмотреть на проблемы, связанные здесь, многие из них исправлены. Я думаю, было бы неплохо поставить галочки напротив проблем, которые были исправлены, чтобы люди могли видеть прогресс, просто взглянув на первый пост в этой теме (:

Спасибо! Сейчас проверяются еще несколько. :-)

Похоже, #3520 исправлен в текущем мастере.

Не могли бы вы сказать это в комментарии к #3520? Спасибо.

2227 не выглядит критическим исправлением для обновления.

@brainwane , @techalchemy , извините за вмешательство и потенциальное невежество, но могу ли я предложить убрать # 2227 и / или # 3520 из этого выпуска? У меня сложилось впечатление, что получить более или менее что-либо выпущенное очень важно и полезно. # 2227 выглядит как новая функция, а # 3520 описан обходной путь (без возражений со стороны репортера).

Спасибо. Дэн согласился с вами, и мы удалили # 2227 как блокирующий в этом выпуске. Если бы вы могли помочь с # 3520, подтвердив, что обходной путь работает, и прокомментировав его, это было бы здорово.

Точно так же строго необходимо «создавать новые выпуски связанных библиотек» перед выпуском следующего pipenv? Изучая #3613, я обнаружил, что текущая основная ветка просто работает...

Я не утверждаю, что эти проблемы не важны, просто они не должны препятствовать тому, чтобы улучшения, уже находящиеся в мастере, попадали к людям.

Насколько я понимаю, эти библиотеки важны для функциональности pipenv, а также для надлежащего тестирования pipenv, чтобы убедиться, что выпуск работает в поддерживаемых комбинациях ОС/среда. Я могу ошибаться, но Дэн сказал, что «в наши дни большая часть работы выполняется во вспомогательных библиотеках».

Есть ли что-то, что мешает сообществу помочь? Я счастлив протянуть вам руку. В противном случае я вижу только выпуск обновлений и обновлений документов.

Пожалуйста, помогите, ответив на вопросы новых пользователей в проблемах GitHub pipenv ; таким образом, Дэну не нужно беспокоиться об ответах на них, и он может сосредоточиться на этом выпуске.

Все ближе к релизу!

Новое электронное письмо с обновлением от @techalchemy на distutils-sig (отражено в списке pypa-dev ). Включает в себя несколько способов, которыми вы можете помочь.

@AEHamrick Я видел ваш комментарий https://github.com/pypa/pipenv/issues/3742#issuecomment -498312920 - я быстро просмотрел # 3382 и # 3757, и похоже, что они уже исправлены в мастере. Это правильно? Если они еще не исправлены в мастере, сообщите об этом в комментарии здесь, чтобы мы могли рассмотреть возможность их добавления в этап выпуска. Спасибо!

@brainwane Эй, я ценю, что вы заглянули. Честно говоря, я начал использовать Poetry довольно давно из-за отсутствия активности здесь, но если я найду время, я настрою тестовую среду и посмотрю, попадали ли ситуации, в которые я попадал. эти ошибки, кажется, в порядке сейчас.

Я полностью понимаю, @AEHamrick - спасибо.

Вчера я пожертвовал еще немного времени, чтобы помочь @techalchemy двигаться дальше. Дэн сделал новые выпуски pythonfinder и requirementslib, а также продолжил слияние ветки vendor-update для устранения отсутствующих зависимостей/импортов. Он все еще работает над этим сегодня («некоторые тесты провалились, но не слишком много — 17/230 или около того» на сегодняшний день).

После того, как сопровождающие Pipenv опубликуют предварительный выпуск, некоторое ручное тестирование пользователями поможет им чувствовать себя уверенно при выпуске канонического выпуска. Я предлагаю: вы можете помочь разработать список «рабочих процессов Pipenv для тестирования» в этом духе .

Кроме того, всем, кто следит за этой проблемой, рассмотрите возможность ретвитнуть этот твит о текущем статусе и о том, как люди могут помочь.

visтир на самом деле уже актуален; удалил это из выпуска TODO.

И @techalchemy запустила руководство по процессу выпуска Pipenv — если есть шаги, которые должны быть там, а их нет, пожалуйста, прокомментируйте здесь или добавьте несколько пунктов в этот документ.

Дэн близок к тому, чтобы объединить ветку feature/vendor-update :

1 failed, 231 passed, 21 skipped in 442.72 seconds

Дэн добился прохождения тестов локально, и теперь он сделал запрос на включение # 4169 и гарантирует, что тесты пройдены; сейчас они работают очень медленно и иногда дают сбой. Так что он работает над этим прямо сейчас — в частности, пытается заставить работать синтаксис Azure. В зависимости от того, насколько он сможет ускорить некоторые из этих тестов, и будут ли они выпадать, и придется ли ему гоняться за периодическими сбоями, он может быть в состоянии сделать предварительный выпуск сегодня! Или это может быть через несколько дней.

Люди спрашивали, чем они могут помочь. В ближайшие несколько дней или недель @techalchemy может понадобиться особая помощь в тестировании нового предварительного выпуска для Windows. Пожалуйста, используйте реакцию :eyes: emoji на этот комментарий, если вы хотите помочь в тестировании на Windows.

И если вы много знаете о шаблонах конвейеров Azure, подумайте о том, чтобы присоединиться к каналу IRC и помочь там сегодня и/или завтра?

См. https://github.com/pypa/pipenv/pull/4169#issuecomment -607348834 для получения обновленной информации о ходе PR.

Дэн продолжает добиваться успехов в прохождении тестов (как отмечают в комментариях к #4169, тесты начали давать сбои несколько месяцев назад, поэтому он имеет дело не только с этим PR, но и с накопившейся технической задолженностью). Я изменил название вопроса, чтобы отразить реальность.

См. https://github.com/pypa/pipenv/pull/4169#issuecomment -610017500 для счастливого обновления о прогрессе PR.

Если вы можете помочь выяснить ошибки тестирования Windows в Azure, просмотрите #4169 и прокомментируйте.

Как другие могут помочь:

Спасибо людям, которые внесли свой вклад в тестирование Windows и Azure в № 4169!

Дэн только что объединил #4169 и определяет, нужно ли объединять любые другие запросы на включение, прежде чем он сможет сделать новый предварительный выпуск. Как только @techalchemy сделает этот предварительный выпуск, он попросит помочь его протестировать.

Есть отдельная проблема, № 4130, для разработки долгосрочных планов по улучшению дорожной карты, а также процессов участников и сопровождающих.

Новая проблема № 4188 срочно нуждается в исправлении, так как она нарушает существующие установки, поэтому Дэн сначала работает над этим. Соответственно, я обновил контрольный список в начале этого выпуска.

@techalchemy не собирается углубляться в существующие проблемы в поисках блокировщиков релиза — после публикации предварительного релиза и набора тестировщиков он будет просеивать проблемы, чтобы увидеть, должны ли какие-либо из них блокировать новый релиз.

Теперь, когда он и другие разработчики pipenv решили проблему тестирования Windows (в № 4169 и других PR), а Дэн находится в разгаре решения № 4188 (спасибо ребятам из PyUp за вчерашний звонок), он хотел бы получить предварительную версию. pipenv выйдет в эти выходные или в понедельник. Предварительно предполагается, что номер версии будет 2020.04.1a1. Затем мы наберем тестировщиков примерно на неделю для ручного тестирования .

Я еще не смог это исправить, но у вас есть по крайней мере один тест, который не является параллельным безопасным. Тесты выполняются с pytest -n 3 в .azure-pipelines/steps/run-tests-windows.yml , но это вызовет случайные сбои, такие как тест очистки кеша test_pipenv_clear в tests\integration\test_cli.py .

Вероятно, все тесты cli имеют общие пути к кешу и либо не должны выполняться параллельно, либо каждый PipEnvInstance должен использовать отдельный корневой/домашний путь.

См. также два запуска одного и того же кода:
https://github.com/bneijt/pipenv/runs/596610863?check_suite_focus=true
https://github.com/bneijt/pipenv/runs/596726284?check_suite_focus=true

Любое из следующего может помочь, но я новичок в проекте, поэтому я еще не уверен, что делать:

  • Настройте PR для запланированных сборок, а не только для сборок по запросу, это даст больше информации о сбое сборок без изменений.
  • Отключить параллельные тесты для пакета cli
  • Убедитесь, что PipenvInstance устанавливает уникальный путь к кэшу для каждого экземпляра.
  • Создайте проблему и оставьте ее на другой раз

Пожалуйста, порекомендуйте.

Небольшое примечание, чтобы поблагодарить всех, кто поддерживает выпуск pipenv. Это очень ценится. На мой взгляд, pipenv должен быть инструментом для перехода, особенно для новичков в Python, поскольку он абстрагируется от многих проблем с virtualenv, с которыми новичку не следует беспокоиться в начале. Отличный материал!

Привет всем, просто проверяю - столкнулся с небольшой загвоздкой с поломкой в ​​​​зависимом выпуске и еще несколькими проблемами лазури. На сегодня все зеленое, так что завтра я выпущу предварительный релиз :) Спасибо за ваше терпение!

В качестве еще одного краткого обновления я опубликовал сборку на https://test.pypi.org на данный момент для всех, кто хочет получить копию — ее можно установить через pip install --index-url=https://test.pypi.org pipenv . Я еще ничего не проверял в этой сборке, но мне нужно было что-то опубликовать, чтобы заявить о праве собственности на имя в тестовом PyPI :)

Последним шагом здесь будет портирование действия github для выполнения серии выпусков, сначала в тестовом экземпляре, а затем при обработке фактического выпуска. Именно так я теперь управляю релизами в большинстве других своих проектов, и это должно сделать процесс немного более плавным, поскольку оно устраняет меня как единственную точку отказа. Еще раз спасибо за ваше терпение и дайте мне знать, если у вас возникнут какие-либо проблемы

Спасибо @techalchemy! FYI, это сработало для меня:

pip install -i https://test.pypi.org/simple/ pipenv

после выполнения pip uninstall pipenv

Есть ли требование установить определенную версию pip? Я думал, что он использует вендорный в самом pipenv, но я получаю эту ошибку:

Файл «C: UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py», строка 862, в do_install_dependencies
normal_deps, procs, failed_deps_queue, requirements_dir, install_kwargsФайл «C: UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py», строка 776, в пакетной установкеuse_pep517 = use_pep517,Файл «C: UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py», строка 1484, в pip_installno_deps=no_deps, require_hashes=не ignore_hashesФайл «C: UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py», строка 1341, в get_pip_argsесли project.environment.pip_version >= parse_version("19.0"):Файл «C: UsersaaAppDataRoamingPythonPython36site-packagespipenvproject.py», строка 343, в средеself._environment.extend_dists(pipenv_dist)Файл «C: UsersaaAppDataRoamingPythonPython36site-packagespipenvenvironment.py», строка 102, в extend_distsдополнительные функции = self.resolve_dist (dist, self.base_working_set)Файл «C: UsersaaAppDataRoamingPythonPython36site-packagespipenvenvironment.py», строка 97, в resolve_distdist = work_set.find(req)Файл "C:UsersaaAppDataRoamingPythonPython36site-packagespkg_resources__init__.py", строка 644, в поискеподнять VersionConflict (расстояние, требование)pkg_resources.VersionConflict: ( pip 9.0.1 (c:programdataanaconda3libsite-packages), Requirement.parse('pip>=18.0')**)

Мы используем python 3.6.0, и я не хочу обновлять нашу глобальную версию pip, потому что ранее это означало, что мы больше не могли запускать pip install blah и должны были делать python -m pip install blah .

Спасибо @techalchemy за кропотливую работу! С нетерпением жду релиза

его можно установить с помощью pip install --index-url= https://test.pypi.org pipenv.

Я быстро попробовал это в virtualenv и получил следующее:

> pip install -i https://test.pypi.org/simple/ pipenv
Looking in indexes: https://test.pypi.org/simple/
Collecting pipenv
  Downloading https://test-files.pythonhosted.org/packages/d7/0d/aa8ee85ece59f7ee27282a6a39ec1d061560d76b27a5c40a4b478473a5dd/pipenv-2020.4.1a1-py2.py3-none-any.whl (3.8 MB)
     |████████████████████████████████| 3.8 MB 1.7 MB/s 
Requirement already satisfied: pip>=18.0 in ./.venc/lib/python3.6/site-packages (from pipenv) (20.0.2)
Requirement already satisfied: setuptools>=36.2.1 in ./.venc/lib/python3.6/site-packages (from pipenv) (46.1.3)
Collecting certifi
  Downloading https://test-files.pythonhosted.org/packages/0e/67/0383b38ee00ffa9f93348998d0b474c1f5aa4a4ff562957294f1477a47b5/certifi-2016.8.8-py2.py3-none-any.whl (384 kB)
     |████████████████████████████████| 384 kB 4.1 MB/s 
ERROR: Could not find a version that satisfies the requirement virtualenv-clone>=0.2.5 (from pipenv) (from versions: none)
ERROR: No matching distribution found for virtualenv-clone>=0.2.5 (from pipenv)

Я предполагаю, что это связано с тем, что виртуальный клон недоступен на test.pypi.org; установка virtualenv-clone и virtualenv вручную в venv помогла мне.

Поделитесь этим, если это полезно для других :)

@JeanFred попробуйте:

pip uninstall pipenv

а затем перезапустите установку

Я только что обновил свой текущий pipenv:

pip install -i https://test.pypi.org/simple/ -U pipenv

Работает как шарм! Спасибо @techalchemy !

@bneijt Хорошей идеей было бы подать новую проблему с обнаруженной вами ненадежностью теста, иначе я боюсь, что информация будет потеряна в отзывах о предварительном тестировании здесь.

приносим извинения за отсутствие дальнейших действий по этому @JeanFred , вы можете временно исправить это с помощью pip install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple --pre pipenv

Если вы можете немного подождать, я скоро отправлю предварительный релиз на PyPI.

приносим извинения за отсутствие дальнейших действий по этому @JeanFred , вы можете временно исправить это с помощью pip install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple --pre pipenv

Если вы можете немного подождать, я скоро отправлю предварительный релиз на PyPI.

Привет @techalchemy , спасибо за ваши усилия! Я был слишком быстр?

# pip install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple --pre pipenv
Looking in indexes: https://test.pypi.org/simple, https://pypi.org/simple
Collecting pipenv
  Downloading https://test-files.pythonhosted.org/packages/d7/0d/aa8ee85ece59f7ee27282a6a39ec1d061560d76b27a5c40a4b478473a5dd/pipenv-2020.4.1a1-py2.py3-none-any.whl (3.8MB)
    100% |████████████████████████████████| 3.8MB 368kB/s 
Requirement already satisfied: setuptools>=36.2.1 in /usr/lib/python3/dist-packages (from pipenv) (40.8.0)
Collecting virtualenv-clone>=0.2.5 (from pipenv)
Could not install packages due to an EnvironmentError: 404 Client Error: Not Found for url: https://test.pypi.org/simple/virtualenv-clone/

Приветствую всех, я пошел дальше и отправил предварительную версию на обычный pypi, чтобы вы могли избежать сложности тестового pypi — не стесняйтесь попробовать pip install --upgrade --pre pipenv , и вы должны увидеть установку 2020.4.1b1

Я отправлю более подробную информацию завтра, когда немного посплю, но рекомендую всем, кто хочет немного проверить это, проконсультироваться или использовать ручные рабочие процессы, перечисленные в этом документе .

Еще раз спасибо за ваше терпение!

Это впечатляет! Спасибо всем, кто работает над этим.

Я еще всего этого не читал, но видел альфа-релиз и потом сразу бету. В Fedora мы будем тестировать пререлиз, но нам понадобится пара дней, а быстрая бета после альфы меня немного удивила.

@hroncok альфа-версия на основном pypi была в основном для проверки изменения автоматизации выпуска, бета-версия будет доступна как минимум в течение недели. Не стесняйтесь пинговать меня в IRC, если вам нужно больше времени или у вас есть какие-либо дополнительные проблемы с переупаковкой.

Не стесняйтесь пинговать меня в IRC, если вам нужно больше времени или у вас есть какие-либо дополнительные проблемы с переупаковкой.

Сделаю, если нужно. Спасибо.

РЕДАКТИРОВАТЬ: я отписался здесь, потому что я подозреваю, что здесь много пользовательских отчетов «новая версия работает для меня».

@techalchemy , спасибо! Уже протестировано в проекте, и все в порядке!

# pip uninstall -y virtualenv virtualenv-clone pipenv
Uninstalling virtualenv-20.0.18:
  Successfully uninstalled virtualenv-20.0.18
Uninstalling virtualenv-clone-0.5.4:
  Successfully uninstalled virtualenv-clone-0.5.4
Uninstalling pipenv-2020.4.1a1:
  Successfully uninstalled pipenv-2020.4.1a1
# pip install --pre pipenv
Collecting pipenv
  Downloading https://files.pythonhosted.org/packages/c6/ae/de435f1da25056a181cbc3241d747b521f0caf8db0e5ca19400b9f120e7d/pipenv-2020.4.1b1-py2.py3-none-any.whl (3.8MB)
    100% |████████████████████████████████| 3.8MB 391kB/s 
Collecting virtualenv-clone>=0.2.5 (from pipenv)
  Using cached https://files.pythonhosted.org/packages/83/b8/cd931487d250565392c39409117436d910232c8a3ac09ea2fb62a6c47bff/virtualenv_clone-0.5.4-py2.py3-none-any.whl
Requirement already satisfied: setuptools>=36.2.1 in /usr/lib/python3/dist-packages (from pipenv) (40.8.0)
Requirement already satisfied: certifi in /usr/lib/python3/dist-packages (from pipenv) (2018.8.24)
Requirement already satisfied: pip>=18.0 in /usr/lib/python3/dist-packages (from pipenv) (18.1)
Collecting virtualenv (from pipenv)
  Using cached https://files.pythonhosted.org/packages/23/1a/d55f5fb904564365c3d364fd41701a74ad497379f04fd548cccc3f227d98/virtualenv-20.0.18-py2.py3-none-any.whl
Requirement already satisfied: filelock<4,>=3.0.0 in /usr/local/lib/python3.7/dist-packages (from virtualenv->pipenv) (3.0.12)
Requirement already satisfied: distlib<1,>=0.3.0 in /usr/local/lib/python3.7/dist-packages (from virtualenv->pipenv) (0.3.0)
Requirement already satisfied: importlib-metadata<2,>=0.12; python_version < "3.8" in /usr/local/lib/python3.7/dist-packages (from virtualenv->pipenv) (1.6.0)
Requirement already satisfied: six<2,>=1.9.0 in /usr/lib/python3/dist-packages (from virtualenv->pipenv) (1.12.0)
Requirement already satisfied: appdirs<2,>=1.4.3 in /usr/local/lib/python3.7/dist-packages (from virtualenv->pipenv) (1.4.3)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata<2,>=0.12; python_version < "3.8"->virtualenv->pipenv) (3.1.0)
Installing collected packages: virtualenv-clone, virtualenv, pipenv
Successfully installed pipenv-2020.4.1b1 virtualenv-20.0.18 virtualenv-clone-0.5.4
# pipenv --version
pipenv, version 2020.4.1b1 

У меня проблема с импортом файла требований. Это с python 3.8.2 и последним pipenv сверху:

Mathieus-MacBook-Pro: mhindery$ pipenv install -r requirements.txt 
Creating a virtualenv for this project…
Pipfile: /<...>/Pipfile
Using /<...>/.pyenv/versions/3.8.2/bin/python3.8 (3.8.2) to create virtualenv…
⠧ Creating virtual environment...created virtual environment CPython3.8.2.final.0-64 in 444ms
  creator CPython3Posix(dest=/<...>-7y_bNLv7, clear=False, global=False)
  seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=/<...>/virtualenv/seed-app-data/v1.0.1)
  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

✔ Successfully created virtual environment! 
Virtualenv location: /<...>-7y_bNLv7
Requirements file provided! Importing into Pipfile…
Traceback (most recent call last):
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/project.py", line 789, in write_toml
    formatted_data = tomlkit.dumps(data).rstrip()
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/tomlkit/api.py", line 42, in dumps
    return data.as_string()
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/tomlkit/container.py", line 343, in as_string
    s += self._render_aot(k, v)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/tomlkit/container.py", line 412, in _render_aot
    cur += self._render_aot_table(table, prefix=_key)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/tomlkit/container.py", line 421, in _render_aot_table
    if not table.is_super_table():
AttributeError: 'dict' object has no attribute 'is_super_table'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/mhindery/.pyenv/versions/3.8.2/bin/pipenv", line 10, in <module>
    sys.exit(cli())
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/decorators.py", line 73, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/cli/command.py", line 231, in install
    retcode = do_install(
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/core.py", line 1982, in do_install
    import_requirements(r=project.path_to(requirements), dev=dev)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/core.py", line 230, in import_requirements
    project.add_index_to_pipfile(index, verify_ssl=trusted)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/project.py", line 990, in add_index_to_pipfile
    self.write_toml(p)
  File "/Users/mhindery/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/project.py", line 793, in write_toml
    document[section] = tomlkit.container.Table()
TypeError: __init__() missing 3 required positional arguments: 'value', 'trivia', and 'is_aot_element'
Mathieus-MacBook-Pro: mhindery$ pipenv --version
pipenv, version 2020.4.1b1
Mathieus-MacBook-Pro: mhindery$ python --version
Python 3.8.2
Mathieus-MacBook-Pro:usermanagement mhindery$ pyenv --version
pyenv 1.2.18
Mathieus-MacBook-Pro: mhindery$ 

@mhindery Быстрое исправление приземлилось в # 4219

Я обнаружил вроде бы некритическую ошибку, о которой сообщил в отдельном #4220.

Привет,
Приятно видеть, что релиз обретает форму.

Я хотел попробовать предварительную версию на Mac Os, и у меня заработало большинство блокировок и установок библиотек моих проектов, за исключением двух, упомянутых здесь:
https://github.com/pypa/pipenv/issues/4227

@techalchemy анонсировала предварительный выпуск на форуме Python Discourse с подробностями, включая:

  • цель для выпуска (четверг, 7 мая)
  • что нового (основные моменты и полный список изменений)
  • что Pipenv нуждается в помощи при тестировании
  • другие изменения в проекте: изменения процессов и коммуникаций, периодичность выпуска и финансовая поддержка
  • Спасибо тебе

Тестирование Windows: привет тем, кто добровольно вызвался ! Пожалуйста, протестируйте Pipenv и зарегистрируйте ошибки до 6 мая , если можете.

@командная вкладка
@мунгоджам
@snakeice
@nicholasAlert
@madsmtm
@Mause
@gmsantos
@davekeanexero
@lucidyan
@братао
@sudopriestmx
@амхрасмуссен

Тестирование Windows: привет тем, кто добровольно вызвался ! Пожалуйста, протестируйте Pipenv и зарегистрируйте ошибки до 6 мая , если можете.

Я выполнил команды по этой ссылке, и pipenv update --dry-run приводит к исключению #4229.

Это также произошло с другими проектами, а также с Linux/Ubuntu. обновление pipenv работает как положено.

Я не сверялся с @techalchemy, но я просто быстро просмотрел этот репозиторий и четыре репозитория Sarugaku (например, requirementslib), чтобы узнать, как продвигается эта бета-версия.

Изменения:

4232 появился и был исправлен #4236.

Возникла проблема 4217, которая была исправлена ​​с помощью #4241 (которая также относится к #3396).

4219 и #4230 теперь объединены.

Все еще открыт:

4231 все еще открыт, и Дэну нужна помощь, чтобы воспроизвести его на Mac OS X и/или Linux — «Для setup.py, в которых есть setup_requires вроде cython , pipenv, похоже, не соблюдает его, хотя блокировка Pipfile».

@brainwane FYI: sarugaku/requirementslib#229 — это исправление регрессии, описанной в sarugaku/requirementslib#228, которая является частью этой бета-версии.

@brainwane Я думаю, что # 4218 тоже будет блокировщиком? Это регрессия и полностью ломает как существующие, так и новые проекты с определенными зависимостями.

Чтобы предоставить здесь дополнительное обновление, я постараюсь выпустить этот выпуск завтра (я понимаю, что это на день позже, чем планировалось, но некоторые из проблем было относительно сложно отследить — огромное спасибо тем из вас, кто смог чтобы протестировать, предоставить обратную связь и помочь разобраться в некоторых тонких проблемах.

Я опубликовал более подробное вскрытие по проблеме блокировки релиза здесь — сейчас он ожидает завершения сборки, но, поскольку сейчас час ночи субботнего утра, я, скорее всего, воздержусь от релиза до понедельника, чтобы ничего не сломать, пока никого нет рядом. ответить / отреагировать.

Еще раз спасибо всем, кто предоставил ценную информацию об отладке, чтобы помочь решить некоторые из этих проблем, это сделало процесс намного более плавным.

@техалхимия ?

@Immortalin Даже если Дэн сказал, что потенциально может ожидать чего-то в понедельник, ваш комментарий неконструктивен. Пожалуйста, проверьте себя.

Дэн, мы все ценим твою тяжелую работу. Я думаю, что большинство из нас понимает, что нам нужно найти больше способов быть вам полезными.

4251 может быть остановкой шоу (сбой pipenv install --outdated ).

Планируете ли вы выпустить еще одну бета-версию? Я использую версию 2020.4.1b1 и столкнулся с ошибкой при блокировке проекта с помощью psycopg2. Я вижу, что были исправления, такие как # 4231, поэтому я бы предпочел проверить его, используя последнюю версию pipenv со всеми исправлениями, а не сообщать о чем-то уже исправленном.

Вот обновление релиза. Вкратце: мы столкнулись с непредвиденными проблемами при обновлении зависимых библиотек от поставщиков pipenv, что вызвало задержку. В ближайшие несколько дней будет новый пререлиз.

Подробности:
В конце прошлой недели я объединял то, что должно было быть простым исправлением в vistir, с адресом #4195. Я вносил это изменение как часть того, что должно было быть быстрым обновлением при подготовке к выпуску; vistir — одна из библиотек, которая обеспечивает некоторую поддержку кросс-платформенной/Python 2/3 совместимости для Pipenv. Тем не менее, CI потерпел неудачу по всем видам странных причин, и это заняло немного времени, чтобы выяснить и правильно решить эту проблему. Я все равно не мог просто отменить исправление и выпустить его, потому что без этого исправления существовал риск нарушения кроссплатформенности и совместимости в Pipenv.

План:

  • ~Выпуск библиотек (https://github.com/sarugaku/vistir/https://github.com/sarugaku/requirementslib)~
  • ~Обновите обновленные библиотеки в Pipenv~
  • ~Объединить оставшиеся PR с низким уровнем риска, готовые к объединению, в Pipenv~
  • ~Просмотрите проблемы с Pipenv для блокировщиков релизов~
  • ~Предварительный выпуск: вероятно, сделать свежий предварительный выпуск Pipenv перед каноническим выпуском~

Дополнительные замечания

  • Сбои не были связаны с изменением, но могут быть связаны с изменениями в том, как Azure (среда CI) создает экземпляры Python.
  • В одном случае это могло выявить серьезную потенциальную ошибку в том, как выходные данные кодируются и декодируются в Windows, а другой случай связан с представлением путей к последней версии MacOS.
  • Функциональность тщательно тестируется с помощью тестов на основе свойств, поэтому мы можем быть уверены, что сбои являются реальными проблемами, а тесты выявляют текущие проблемы.
  • Спасибо другим мейнтейнерам библиотек и Pipenv, а также тестировщикам и другим пользователям за помощь в отслеживании вещей.

Во-первых, позвольте мне сказать вам большое спасибо за работу, которую вы вкладываете в этот релиз и поддерживаете этот проект. Pipenv несколько раз спасал меня.

Все это сказано и с риском уйти немного от темы. Учитывая последний сбой в процессе выпуска

В конце прошлой недели я объединял то, что должно было быть простым исправлением в vistir, с адресом #4195. Я вносил это изменение как часть того, что должно было быть быстрым обновлением при подготовке к выпуску; vistir — одна из библиотек, которая обеспечивает некоторую поддержку кросс-платформенной/Python 2/3 совместимости для Pipenv. Тем не менее, CI потерпел неудачу по всем видам странных причин, и это заняло немного времени, чтобы выяснить и правильно решить эту проблему. Я все равно не мог просто отменить исправление и выпустить его, потому что без этого исправления существовал риск нарушения кроссплатформенности и совместимости в Pipenv.

Рассматривали ли вы отказ от поддержки Python 2 (это EOL) и удаление его требований (например, vistir и, возможно, другие)?

Я предполагаю, что долгосрочная поддержка python2 будет прекращена, но если отказ от нее сейчас упростит процесс выпуска, уменьшит сложность проекта и упростит сокращение этого выпуска, возможно, это следует сделать сейчас, а не позже?

ps еще раз спасибо за ваш труд

edit: как предложил flimm, я открыл еще одну проблему № 4261 для обсуждения отказа от python 2, чтобы попытаться продолжить разговор здесь о первом выпуске 2020 года.

Давайте продолжим разговор об отказе от поддержки Python 2 в отдельном выпуске GitHub, так как я чувствую, что это может стать шумным.

@r-richmond vistir также используется в ветке логики Python 3, поэтому я не думаю, что удаление поддержки Python 2 сделает этот выпуск _легче_.

Итак, я пошел дальше и вырезал еще один предварительный выпуск pipenv ( 2020.4.1b2 -- выпуск будет помечен датой выхода, так что не беспокойтесь о названии).

Я думаю, что этот релиз включает в себя большинство, если не все изменения, которые я надеюсь включить. Я объединил одно существенное изменение со времени последнего предварительного выпуска, которое должно избежать повторного запуска процессов, чтобы попытаться pip install уже удовлетворенных зависимостей, поэтому, пожалуйста, сообщайте о любых проблемах, поскольку я планирую выпустить реальный выпуск в среду на следующей неделе. .

Еще раз спасибо всем, кто помогал тестировать, оставлял отзывы и помогал вносить исправления!

Я только что говорил с @techalchemy . Он проверяет #4263 и #3592, чтобы убедиться, что они не являются блокирующими. Он также сказал

я видел только одну проблему с путями импорта поставщиков ...
Перепродажа завершена и не решила проблему с путями импорта, поэтому я, скорее всего, просто приму PR по этой проблеме и создам для нее исправление.

Я предполагаю, что это # ​​4267, но я не уверен.

Как только о них позаботятся, я полагаю, что он намерен выпустить сегодня.

^ Релиз готов, спасибо всем, кто помогал с тестированием!

Вау! Абсолютно потрясающе! Большое спасибо за то, что вернули pipenv к жизни!

Чт, 28 мая 2020 г., 15:17 Дэн Райан, уведомления@github.com написал:

^ Релиз готов, спасибо всем, кто помогал с тестированием!


Вы получаете это, потому что подписаны на эту тему.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/pypa/pipenv/issues/3369#issuecomment-635107609 или
отписаться
https://github.com/notifications/unsubscribe-auth/AAAOGWNSCAEOBRJ5S4WZHADRTXXWHANCNFSM4GJK7LZA
.

^ Релиз готов, спасибо всем, кто помогал с тестированием!

Очень ценю! :+1: :party_face:

Согласно https://pypi.org/project/pipenv/#history , Pipenv 2020.5.28 уже вышел , поэтому я закрываю эту проблему и, следовательно , веху выпуска .

Спасибо @techalchemy , а также спасибо Canonical за то, что он позволил ему поработать над этим во время своего рабочего дня.

На мой взгляд: если вы используете Python для своей работы и хотите, чтобы этот и другие инструменты упаковки/распространения/установки Python выпускались чаще и лучше, попросите своего работодателя внести свой вклад в виде спонсорства . Если бюджет больше, Рабочая группа по упаковке может платить подрядчикам за постоянную работу над этими проектами и поддерживать их в хорошем состоянии.

И если вы хотите помочь добровольно, прочитайте это объявление и следите за выпуском № 4130 об улучшении дорожной карты Pipenv и процессов участия и поддержки, где, вероятно, произойдет больше этого обсуждения.

Спасибо всем, кто внес свой вклад в этот релиз — пользователям, тестировщикам, усилителям сигнала, обозревателям, авторам патчей и людям, которые говорили приятные вещи в комментариях здесь или в списках рассылки и в социальных сетях!

(Я написал сообщение в блоге о том, что потребовалось, чтобы преодолеть узкое место и выпустить эту версию, и о том, что вы можете сделать, чтобы воспроизвести это для других проектов — либо самостоятельно, либо через мою фирму Changeset Consulting .)

Сумана, спасибо, что поделились этой историей. И тем более за размещение вашего
время и энергию на возрождение pipenv. Как вы упомянули, разблокированное значение
огромен.

В пятницу, 11 сентября 2020 г., в 21:05, Сумана Харихаресвара, [email protected]
написал:

(Я написал сообщение в блоге https://www.harihareswara.net/sumana/2020/09/08/0
о том, что потребовалось, чтобы преодолеть узкое место и выпустить этот релиз, и
о том, что вы можете сделать, чтобы воспроизвести это для других проектов - либо
самостоятельно или через мою фирму Changeset Consulting https://changeset.nyc/
.)


Вы получаете это, потому что подписаны на эту тему.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/pypa/pipenv/issues/3369#issuecomment-691029882 или
отписаться
https://github.com/notifications/unsubscribe-auth/AAAOGWNIKWJKNTMUH5PNUZ3SFIAAZANCNFSM4GJK7LZA
.

--
Заар

Всем привет,

решает ли это проблемы WSL, замеченные в # 3488?

Упомянутая вами проблема не может быть решена в pipenv. Вам необходимо самостоятельно настроить среду, как описано в проблеме.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги