Pipenv: Edição de acompanhamento de lançamento de abril (depois maio) de 2020

Criado em 10 dez. 2018  ·  72Comentários  ·  Fonte: pypa/pipenv

Este é um problema de rastreamento interno que vinculará os problemas relacionados que serão abordados/ainda precisam ser atualizados para fins de corte do lançamento. Já faz muito tempo (consulte https://github.com/pypa/pipenv/issues/4058#issuecomment-565550646 e https://github.com/pypa/pipenv/issues/3742#issuecomment-492100711 para alguns comentários sobre isso) e há uma meta provisória de obter um pré-lançamento em março de 2020.

(Editado por @brainwane para dizer: corrigir algumas falhas na configuração de integração contínua está atrasando esta versão 2020.04.1a1 até -- nova estimativa -- 21 de abril de 2020.)

(Editado por @brainwane para dizer: o pré-lançamento 2020.4.1b1 já está disponível, a partir de 29 de abril, e Dan pretende lançar o próximo lançamento em cerca de uma semana.)

(Editado por @brainwane em conversa com Dan em 5 de março de 2020 e depois em março e abril)

  • [x] Outros itens no marco de lançamento de março de 2020 :

    • [x] #3613 Pipenv instala pacotes errados (ignorando bloqueio de pacote)

    • [x] #4137 Atualize README e leia o projeto Docs para apontar para documentos em pipenv.pypa.io

  • [x] [Corrigir falhas de teste pip-shims ](https://github.com/sarugaku/pip-shims/issues/58) (mesclar o branch bugfix/56 )
  • [x] requirementslib correções:

    • [x] sarugaku/requirementslib#204 requirementslib problema de análise AST de setup.py falha no tipo de não adição binOps

    • [x] sarugaku/requirementslib#205 Falha na análise de AST em arquivos não-utf8 setup.py

    • [x] sarugaku/requirementslib/issues/214 Não devemos instalar versões atualizadas de dependências de teste no CI

    • [x] calculadora sarugaku/requirementslib#219 Adicionar calculadora de requisitos para artefatos no PyPI

    • [x] Revise os problemas de requirements-lib para outros bloqueadores de lançamento de pipenv

  • [x] Faça novos lançamentos de bibliotecas relacionadas:

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

    • [x] [pip-shims](https://pypi.org/project/pip-shims/)

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

  • [x] Finalize, aprove e mescle #4169 para tratar de dependências/importações ausentes

    • [x] Corrigir entrada/entradas de notícias

    • [x] Corrigir configuração de CI quebrada

    • [x] Obter testes para passar

  • [x] Correção nº 4188 fazendo com que a chave da API pyup funcione novamente ou escolhendo e implementando uma alternativa
  • [x] Obter testes do GitHub para passar no mestre (ignorando o teste mencionado em #4201)
  • [x] Melhorar a automação de lançamentos para permitir a geração de pré-lançamentos

    • [x] Gerar registro de alterações no modo de rascunho

    • [x] Não marque automaticamente e envie a tag para o repositório

  • [x] Atualize e execute "Teste localmente" e "Fazendo upload da versão" para lista de verificação de empacotamento/lançamento
  • [x] Empacote e carregue a versão de pré-lançamento do pipenv 2020.04.1a1 para o PyPI

É isso que Dan pretende fazer até 21 de abril de 2020. Então:

  • [x] Faça outra nova versão do requirementslib que incorpore uma correção para https://github.com/sarugaku/requirementslib/issues/216

    • [x] Rebloqueie as dependências do requirementslib

  • [x] Divulgue o pré-lançamento e peça uma semana de testes

    • [x] Especialmente testando no Windows contra back-ends PEP 517 e envolvendo virtualenvs

  • [x] Após ~ 1 semana (se não houver bugs de interrupção), publique uma nova versão

Como os outros podem ajudar:

Comentários muito úteis

^ Lançamento está no ar, obrigado a todos que ajudaram nos testes!

Todos 72 comentários

Este parece ser um bom lugar para perguntar sobre quando será o próximo lançamento, quais são os bloqueadores e se há algo que alguém possa fazer para ajudar?

Minha equipe está ansiosa pela próxima atualização, especificamente para o endereço #3298. Ainda existem grandes bloqueadores?

Eu notei https://github.com/pypa/packaging.python.org/issues/701 hoje e doei cerca de 90 minutos ajudando @techalchemy a ter mais clareza sobre o que o está impedindo de fazer o novo lançamento ( conversa IRC )) . https://github.com/pypa/pipenv/issues/3369#issue -389160510 agora tem uma lista de verificação de lançamento. @techalchemy poderia usar ajuda com esses bloqueadores de lançamento, caso @JBKahn ou qualquer outra pessoa queira ajudar.

@techalchemy : Ao analisar os problemas vinculados aqui, muitos deles são corrigidos. Acho que seria bom marcar as caixas para os problemas que foram corrigidos, para que as pessoas possam ver que há progresso apenas olhando o primeiro post deste tópico (:

@brainwane , @techalchemy , desculpem minha interferência e potencial ignorância, mas posso sugerir tirar #2227 e/ou #3520 desta versão? Minha impressão é que liberar mais ou menos qualquer coisa é essencial e benéfico. O nº 2227 parece um novo recurso, enquanto o nº 3520 tem uma solução alternativa descrita (sem objeção do repórter).

Da mesma forma, é estritamente necessário "fazer novos lançamentos de bibliotecas relacionadas" antes de lançar o próximo pipenv? Enquanto examinava o #3613, descobri que o branch master atual funcionava...

Não estou sugerindo que essas questões não sejam importantes, apenas que elas não devem impedir que as melhorias já em andamento cheguem às pessoas.

Março está quase acabando

Parece que https://github.com/pypa/pipenv/issues/3520 está corrigido no mestre atual, https://github.com/pypa/pipenv/issues/2227 não parece uma correção crítica para uma atualização .

Existe algo bloqueando onde a comunidade pode ser útil? Estou feliz em lhe dar minha mão. Caso contrário, vejo apenas atualizações de lançamento e atualizações de documentos.

@Froskekongen @amhrasmussen @fridex obrigado pelas dicas! Eu doei mais algum tempo ontem e @techalchemy e eu trabalhamos com mais alguns dos itens relevantes da lista .

Ao analisar os problemas vinculados aqui, muitos deles são corrigidos. Acho que seria bom marcar as caixas para os problemas que foram corrigidos, para que as pessoas possam ver que há progresso apenas olhando o primeiro post deste tópico (:

Obrigado! Vários outros são verificados agora. :-)

Parece que #3520 está corrigido no mestre atual

Você poderia dizer isso em um comentário no #3520? Obrigado.

2227 não parece uma correção crítica para uma atualização.

@brainwane , @techalchemy , desculpem minha interferência e potencial ignorância, mas posso sugerir tirar #2227 e/ou #3520 desta versão? Minha impressão é que liberar mais ou menos qualquer coisa é essencial e benéfico. O nº 2227 parece um novo recurso, enquanto o nº 3520 tem uma solução alternativa descrita (sem objeção do repórter).

Obrigado. Dan concordou com você e removemos #2227 como um bloqueador nesta versão. Se você puder ajudar com #3520 confirmando que a solução funciona e comentando lá, seria ótimo.

Da mesma forma, é estritamente necessário "fazer novos lançamentos de bibliotecas relacionadas" antes de lançar o próximo pipenv? Enquanto examinava o #3613, descobri que o branch master atual funcionava...

Não estou sugerindo que essas questões não sejam importantes, apenas que elas não devem impedir que as melhorias já em andamento cheguem às pessoas.

Pelo que entendi, essas bibliotecas são importantes para a funcionalidade do pipenv, além de testar adequadamente o pipenv para garantir que a versão funcione nas combinações de SO/ambiente suportadas. Posso estar errado, mas Dan disse "tbh a maior parte do trabalho acontece nas bibliotecas auxiliares hoje em dia".

Existe algo bloqueando onde a comunidade pode ser útil? Estou feliz em lhe dar minha mão. Caso contrário, vejo apenas atualizações de lançamento e atualizações de documentos.

Ajude respondendo às perguntas de novos usuários nos problemas do GitHub do pipenv ; dessa forma, Dan não precisa se preocupar em respondê-las e pode se concentrar neste lançamento.

Cada vez mais perto de um lançamento!

Novo e-mail de atualização de @techalchemy em distutils-sig (espelhado na lista pypa-dev ). Inclui algumas maneiras de ajudar.

@AEHamrick Eu vi seu comentário https://github.com/pypa/pipenv/issues/3742#issuecomment -498312920 -- Dei uma olhada rápida em #3382 e #3757, e parece que eles já estão corrigidos no master. Isso está certo? Se eles ainda não foram corrigidos no master, diga isso em um comentário aqui, para que possamos considerar adicioná-los ao marco de lançamento. Obrigado!

@brainwane Ei, agradeço o seu check-in. Sinceramente, comecei a usar Poetry há algum tempo devido à falta de atividade aqui, mas se eu encontrar tempo, vou configurar um env de teste e ver se as situações que eu estava atingindo esses bugs parecem estar ok agora.

Eu entendo totalmente, @AEHamrick -- obrigado.

Doei mais tempo ontem para ajudar a @techalchemy a avançar ainda mais. Dan fez novos lançamentos do pythonfinder e do requirementslib, e foi mais longe na fusão do branch vendor-update para tratar de dependências/importações ausentes. Ele ainda está trabalhando nisso hoje ("alguns testes falharam, mas não muitos - 17/230 ou mais" como hoje cedo).

Depois que os mantenedores do Pipenv publicarem um pré-lançamento, alguns testes manuais dos usuários os ajudarão a se sentir confiantes sobre o lançamento canônico. Sugiro: você pode ajudar a desenvolver uma lista de "fluxos de trabalho do Pipenv para testar" , nessa linha .

Além disso, quem estiver acompanhando este problema, considere retweetar este tweet sobre o status atual e como as pessoas podem ajudar.

o vistir já está atualizado; removeu isso do lançamento TODO.

E a @techalchemy iniciou um guia de instruções do processo de liberação do Pipenv -- se houver etapas que deveriam estar lá e não estiverem, por favor comente aqui ou adicione alguns marcadores nesse documento.

Dan está mais perto de poder mesclar o branch feature/vendor-update :

1 failed, 231 passed, 21 skipped in 442.72 seconds

Dan conseguiu que os testes fossem aprovados localmente e agora fez o pull request #4169 e está garantindo que os testes sejam aprovados; agora eles estão rodando muito devagar e às vezes falhando. Então ele está trabalhando nisso agora -- especificamente, tentando fazer com que a sintaxe do Azure funcione. Dependendo de quanto ele pode acelerar alguns desses testes, e se eles falham, e se ele tem que perseguir falhas intermitentes, ele pode fazer um pré-lançamento hoje! Ou pode ser daqui a alguns dias.

As pessoas perguntaram como podem ajudar. Nos próximos dias ou semanas, @techalchemy pode precisar de ajuda especial para testar o novo pré-lançamento no Windows. Por favor, use a reação :eyes: emoji a este comentário se você estiver disposto a ajudar a testar no Windows.

E se você sabe muito sobre os modelos de pipelines do Azure, considere entrar no canal de IRC e ajudar lá hoje e/ou amanhã?

Consulte https://github.com/pypa/pipenv/pull/4169#issuecomment -607348834 para obter uma atualização sobre o progresso do PR.

Dan continua a fazer progressos para que os testes sejam aprovados (como os comentários em #4169 observam, os testes começaram a falhar há alguns meses, então ele está lidando não apenas com este PR, mas com dívidas técnicas acumuladas aqui). Mudei o título da edição para refletir a realidade.

Veja https://github.com/pypa/pipenv/pull/4169#issuecomment -610017500 para uma atualização feliz sobre o progresso do PR.

Se você puder ajudar a descobrir falhas de teste do Windows no Azure, dê uma olhada em #4169 e comente.

Como os outros podem ajudar:

Obrigado ao pessoal que contribuiu com a experiência de teste do Windows e do Azure em #4169!

Dan acabou de mesclar #4169 e está determinando se quaisquer outras solicitações de pull também precisam ser mescladas antes que ele possa fazer um novo pré-lançamento. Assim que @techalchemy fizer esse pré-lançamento, ele pedirá ajuda para testá-lo.

Há uma questão separada, nº 4130, para elaborar planos de longo prazo para melhorar o roteiro e os processos do colaborador e do mantenedor.

O novo problema #4188 precisa urgentemente de uma correção, pois está quebrando as instalações existentes, então Dan está trabalhando nisso primeiro. Atualizei a lista de verificação no início deste problema de acordo.

@techalchemy não pretende analisar os problemas existentes para procurar bloqueadores de lançamento - depois de publicar o pré-lançamento e recrutar testadores, ele examinará os problemas para ver se algum deles deve bloquear o novo lançamento.

Agora que ele e outros desenvolvedores de pipenv resolveram o problema de teste do Windows (em #4169 e outros PRs) e Dan está no meio de abordar #4188 (graças ao pessoal do PyUp por uma ligação ontem), ele gostaria de ter um pré-lançamento de pipenv para fora neste fim de semana ou segunda-feira. O número da versão está provisoriamente programado para ser 2020.04.1a1. Em seguida, recrutaremos testadores para cerca de uma semana de testes manuais .

Ainda não consegui corrigi-lo, mas você tem pelo menos um teste que não é seguro em paralelo. Os testes são executados com pytest -n 3 em .azure-pipelines/steps/run-tests-windows.yml mas isso causará falhas aleatórias, como o teste de limpeza de cache test_pipenv_clear em tests\integration\test_cli.py .

Provavelmente, todos os testes cli compartilham caminhos de cache e não devem ser executados em paralelo ou fazer com que cada PipEnvInstance use um caminho raiz/home separado.

Veja também duas execuções do mesmo código:
https://github.com/bneijt/pipenv/runs/596610863?check_suite_focus=true
https://github.com/bneijt/pipenv/runs/596726284?check_suite_focus=true

Qualquer um dos seguintes pode ajudar, mas sou novo no projeto, então não tenho certeza do que fazer ainda:

  • Configure um PR para compilações agendadas em vez de apenas no pull, isso fornecerá mais informações sobre se as compilações falham sem alterações
  • Desabilitar testes paralelos para o pacote cli
  • Certifique-se de que PipenvInstance configure um caminho de cache exclusivo para cada instância.
  • Crie um problema e deixe para outro momento

Por favor informar.

Apenas uma nota rápida para agradecer a todos vocês que apoiam o lançamento do pipenv. Isso é muito apreciado. pipenv deve ser a ferramenta ideal, principalmente para iniciantes em Python, na minha opinião, pois abstrai muitos dos aborrecimentos do virtualenv com os quais um novato não deve se preocupar no início. Coisas boas!

Ei, todos apenas verificando - atingiu um pequeno problema com uma quebra em uma versão dependente e mais alguns problemas do Azure. Tudo verde a partir de hoje à noite, então farei o pré-lançamento amanhã :) Obrigado por sua paciência!

Como outra breve atualização, publiquei uma compilação em https://test.pypi.org no momento para qualquer pessoa ansiosa para colocar as mãos em uma cópia - ela pode ser instalada via pip install --index-url=https://test.pypi.org pipenv . Ainda não validei nada sobre essa compilação, mas precisava publicar algo para reivindicar a propriedade do nome no teste PyPI :)

A etapa final aqui será portar uma ação do github para fazer uma série de lançamentos, primeiro na instância de teste e, em seguida, manipular o lançamento real. É assim que estou gerenciando lançamentos na maioria dos meus outros projetos agora, e isso deve tornar o processo um pouco mais suave, pois me remove como um único ponto de falha. Agradecemos novamente por sua paciência. Entre em contato se tiver algum problema

Obrigado @techalchemy! FYI, isso funcionou para mim:

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

depois de fazer um pip uninstall pipenv

Existe um requisito para ter uma determinada versão do pip instalada? Eu pensei que ele usava um fornecedor dentro do próprio pipenv, mas recebo este erro:

Arquivo "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py", linha 862, em do_install_dependencies
normal_deps, procs, failed_deps_queue, requirements_dir, install_kwargsArquivo "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py", linha 776, em batch_installuse_pep517=use_pep517,Arquivo "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py", linha 1484, em pip_installno_deps=no_deps, require_hashes=não ignore_hashesArquivo "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvcore.py", linha 1341, em get_pip_argsif project.environment.pip_version >= parse_version("19.0"):Arquivo "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvproject.py", linha 343, no ambienteself._environment.extend_dists(pipenv_dist)Arquivo "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvenvironment.py", linha 102, em extend_distsextras = self.resolve_dist(dist, self.base_working_set)Arquivo "C:UsersaaAppDataRoamingPythonPython36site-packagespipenvenvironment.py", linha 97, em resolve_distdist = working_set.find(req)Arquivo "C:UsersaaAppDataRoamingPythonPython36site-packagespkg_resources__init__.py", linha 644, em findraise VersionConflict(dist, req)pkg_resources.VersionConflict: ( pip 9.0.1 (c:programdataanaconda3libsite-packages), Requirement.parse('pip>=18.0')**)

Estamos executando o python 3.6.0 e estou relutante em atualizar nossa versão global do pip porque isso significava anteriormente que não poderíamos mais executar pip install blah e tivemos que fazer python -m pip install blah .

Obrigado @techalchemy pelo trabalho duro! Ansioso para um lançamento

ele pode ser instalado via pip install --index-url= https://test.pypi.org pipenv.

Eu rapidamente tentei isso em um virtualenv e obtive o seguinte:

> 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)

Presumo que seja porque virtualenv-clone não está disponível em test.pypi.org ; instalar virtualenv-clone e virtualenv manualmente no venv fez o truque para mim.

Compartilhando isso caso seja útil para outras pessoas :)

@JeanFred tente:

pip uninstall pipenv

e, em seguida, execute novamente a instalação

Acabei de atualizar meu pipenv atual:

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

Funciona como um encanto! Obrigado @techalchemy !

@bneijt Arquivar um novo problema para a falha de teste que você encontrou seria uma boa ideia, caso contrário, temo que as informações sejam perdidas no feedback de teste de pré-lançamento aqui.

desculpas pela falta de acompanhamento neste @JeanFred , você pode corrigir isso temporariamente com pip install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple --pre pipenv

Se você puder esperar um pouco, estarei enviando um pré-lançamento para o PyPI em breve

desculpas pela falta de acompanhamento neste @JeanFred , você pode corrigir isso temporariamente com pip install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple --pre pipenv

Se você puder esperar um pouco, estarei enviando um pré-lançamento para o PyPI em breve

Oi @techalchemy , obrigado pelo seu esforço! Fui muito rápido?

# 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/

Saudações a todos, eu fui em frente e enviei um pré-lançamento para o pypi regular para que você possa evitar a complexidade do pypi de teste - sinta-se à vontade para experimentar pip install --upgrade --pre pipenv e você verá 2020.4.1b1 install

Enviarei mais detalhes amanhã quando tiver dormido um pouco, mas incentivaria qualquer pessoa que deseje testar isso um pouco a consultar ou desenvolver os fluxos de trabalho manuais listados neste documento

Mais uma vez obrigado pela sua paciência!

Isso é emocionante! Obrigado a todos que estão trabalhando nisso.

Eu não li tudo isso ainda, mas eu vi um lançamento alfa e imediatamente um beta. No Fedora, testaremos o pré-lançamento, mas precisamos de alguns dias e o beta rápido após o alfa me surpreendeu um pouco.

@hroncok o lançamento alfa no pypi principal foi em grande parte para validar a mudança de automação de lançamento, o lançamento beta ficará ativo por pelo menos uma semana. Sinta-se à vontade para me enviar um ping no IRC se precisar de mais tempo ou tiver algum desafio adicional com a reembalagem

Sinta-se à vontade para me enviar um ping no IRC se precisar de mais tempo ou tiver algum desafio adicional com a reembalagem

Fará se necessário. Obrigada.

EDIT: Cancelei a inscrição aqui, porque suspeito que muitos relatórios de usuários "a nova versão funciona para mim" aqui.

@techalchemy obrigado! Já testei em um projeto e está indo muito bem!

# 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 

Estou tendo um problema ao importar um arquivo de requisitos. Isso é com o python 3.8.2 e o pipenv mais recente de cima:

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 Uma solução rápida foi lançada em # 4219

Descobri um erro aparentemente não crítico que relatei no #4220 separado.

Oi,
É bom ver o lançamento tomando forma.

Eu queria experimentar a versão de pré-lançamento no Mac Os e consegui a maioria dos bloqueios e instalações das bibliotecas dos meus projetos funcionando, exceto os 2 mencionados aqui:
https://github.com/pypa/pipenv/issues/4227

A @techalchemy anunciou o pré-lançamento no fórum do Python's Discourse com detalhes, incluindo:

  • alvo para lançamento (quinta-feira, 7 de maio)
  • o que há de novo (destaques e changelog completo)
  • o que o Pipenv precisa de ajuda para testar
  • outras mudanças no projeto: mudanças de processo e comunicação, cadência de lançamento e suporte financeiro
  • Obrigado

Teste do Windows: Olá para o pessoal que se ofereceu anteriormente! Por favor, teste o Pipenv e arquive os bugs entre agora e 6 de maio , se puder.

@command-tab
@mungojam
@snakeice
@nicolasAlerta
@madsmtm
@Mause
@gmsantos
@davekeanexero
@lucidyan
@bratão
@sudopriestmx
@amhrasmussen

Teste do Windows: Olá para o pessoal que se ofereceu anteriormente! Por favor, teste o Pipenv e arquive os bugs entre agora e 6 de maio , se puder.

Eu executei os comandos neste link e pipenv update --dry-run resulta em uma exceção #4229

Isso também aconteceu com outros projetos e também no Linux/Ubuntu. A atualização do pipenv funciona conforme o esperado.

Eu não verifiquei com @techalchemy , mas apenas examinei rapidamente este repositório e os quatro repositórios Sarugaku (como o requirementslib) para ver como está indo esse beta.

Alterar:

4232 surgiu e foi corrigido por #4236.

4217 surgiu e é corrigido pelo #4241 (que também aborda o #3396).

4219 e #4230 agora estão mesclados.

Ainda aberto:

4231 ainda está aberto e Dan precisa de ajuda para reproduzi-lo no Mac OS X e/ou Linux -- "Para setup.py que tem setup_requires como cython , pipenv não parece estar honrando isso enquanto bloqueando o Pipfile".

@brainwane FYI: sarugaku/requirementslib#229 é uma correção para a regressão descrita em sarugaku/requirementslib#228 que faz parte desta versão beta.

@brainwane Eu acho que #4218 também seria um bloqueador? É uma regressão e quebra completamente projetos novos e existentes com certas dependências.

Para fornecer uma atualização adicional aqui, tentarei lançar esta versão amanhã (sei que é um dia depois do planejado, mas alguns dos problemas foram relativamente difíceis de rastrear -- muito obrigado a vocês que puderam para testar, fornecer feedback e ajudar a fornecer informações sobre alguns dos problemas sutis que estão acontecendo.

Publiquei um post-mortem mais completo sobre o problema de bloqueio de lançamento aqui -- isso agora está esperando que as compilações terminem, mas como agora é 1h da manhã de sábado, provavelmente me absterei de lançar até segunda-feira para evitar quebrar qualquer coisa enquanto ninguém estiver por perto para responder / reagir.

Obrigado novamente a todos que forneceram informações valiosas de depuração para ajudar a resolver alguns desses problemas, isso tornou o processo muito mais fácil.

@techalchemy ?

@Immortalin Mesmo que Dan dissesse que poderia esperar algo na segunda-feira, seu comentário não é construtivo. Por favor, verifique você mesmo.

Dan, todos nós apreciamos seu trabalho duro. Acho que a maioria de nós percebe que precisamos encontrar mais maneiras de ajudar você.

4251 pode ser um showtopper (falha pipenv install --outdated ).

Você planeja lançar outra versão beta? Estou usando a versão 2020.4.1b1 e encontrei um erro ao bloquear um projeto com psycopg2. Vejo que houve correções como # 4231, então prefiro verificar usando a versão mais recente do pipenv com todas as correções de bugs em vez de relatar algo já corrigido.

Aqui está uma atualização de lançamento. Tl;dr: Tivemos problemas inesperados ao atualizar bibliotecas dependentes de fornecedores de pipenv e isso causou um atraso. Haverá um novo pré-lançamento em algum momento nos próximos dias.

Detalhes:
No final da semana passada, eu estava mesclando o que deveria ter sido uma correção simples no vistir para o endereço #4195. Eu estava fazendo essa mudança como parte do que deveria ter sido uma rápida revenda em preparação para o lançamento; vistir é uma das bibliotecas que fornece alguns dos suportes de compatibilidade multiplataforma/Python 2/3 para Pipenv. No entanto, a CI falhou por todos os tipos de razões estranhas, e isso tem sido um pouco demorado para descobrir e resolver corretamente. Eu não poderia simplesmente reverter a correção e lançar de qualquer maneira, porque sem essa correção, havia o risco de quebrar a plataforma cruzada e a compatibilidade no Pipenv.

Plano:

  • ~Libere as bibliotecas (https://github.com/sarugaku/vistir / https://github.com/sarugaku/requirementslib)~
  • ~Bibliotecas atualizadas do fornecedor no Pipenv~
  • ~Mesclar os PRs restantes de baixo risco e prontos para mesclar no Pipenv~
  • ~Reveja os problemas do Pipenv para bloqueadores de lançamento~
  • ~Pré?Lançamento: provavelmente faça um novo pré-lançamento do Pipenv antes de um lançamento canônico~

Notas Adicionais

  • As falhas não estavam relacionadas à alteração, mas podem estar relacionadas a alterações em como o Azure (ambiente de CI) cria instâncias do Python
  • Em um caso, isso pode ter exposto um bug potencial significativo em como a saída é codificada e decodificada no Windows, enquanto o outro caso está relacionado à representação de caminhos para a versão mais recente do MacOS
  • A funcionalidade é testada exaustivamente por testes baseados em propriedades, para que possamos ter certeza de que as falhas são problemas reais e os testes capturariam problemas contínuos
  • Obrigado à outra biblioteca e mantenedores do Pipenv, testadores e outros usuários, por me ajudarem a rastrear coisas

Em primeiro lugar, deixe-me dizer muito obrigado pelo trabalho que você está colocando neste lançamento e mantendo este projeto em andamento. Pipenv me salvou várias vezes.

Tudo isso dito e correndo o risco de sair um pouco do assunto. Dado o último soluço no processo de lançamento

No final da semana passada, eu estava mesclando o que deveria ter sido uma correção simples no vistir para o endereço #4195. Eu estava fazendo essa mudança como parte do que deveria ter sido uma rápida revenda em preparação para o lançamento; vistir é uma das bibliotecas que fornece alguns dos suportes de compatibilidade multiplataforma/Python 2/3 para Pipenv. No entanto, a CI falhou por todos os tipos de razões estranhas, e isso tem sido um pouco demorado para descobrir e resolver corretamente. Eu não poderia simplesmente reverter a correção e lançar de qualquer maneira, porque sem essa correção, havia o risco de quebrar a plataforma cruzada e a compatibilidade no Pipenv.

Você considerou descartar o suporte ao python 2 (é EOL) e remover seus requisitos (ou seja, vistir e talvez outros)?

Suponho que o suporte a python2 de longo prazo será descartado, mas se retirá-lo agora simplifica o processo de lançamento, reduz a complexidade do projeto e facilita o corte deste lançamento, talvez isso deva ser feito agora e não mais tarde?

ps obrigado novamente pelo seu trabalho duro

edit: como flimm sugeriu, abri outra edição # 4261 para discussão sobre como descartar o python 2 para tentar manter a conversa aqui no primeiro lançamento de 2020

Vamos manter a conversa sobre o abandono do suporte para Python 2 em um problema separado do GitHub, pois tenho a sensação de que pode ficar barulhento.

@r-richmond vistir também é usado na ramificação da lógica do Python 3, então não acho que a remoção do suporte para o Python 2 tornaria este lançamento _mais fácil_.

Então eu fui em frente e cortei outro pré -lançamento do pipenv ( 2020.4.1b2 -- o lançamento será marcado com a data de lançamento, então não se preocupe muito com a nomenclatura).

Acho que esta versão captura a maioria, se não todas as mudanças que espero incluir. Eu mesclei uma mudança significativa desde o último pré-lançamento que deve evitar o relançamento de processos para tentar pip install dependências já satisfeitas, então, por favor, relate quaisquer problemas, pois pretendo lançar de verdade na quarta-feira da próxima semana .

Obrigado novamente a todos que ajudaram a testar, forneceram feedback e ajudaram a mesclar as correções!

Acabei de falar com @techalchemy . Ele está verificando os números 4263 e 3592 para garantir que não sejam bloqueadores. Ele também disse

eu só vi um problema sobre caminhos de importação fornecidos ...
revendoring terminou e não resolveu o problema do caminho de importação, então provavelmente vou aceitar o PR sobre o problema e gerar um patch para ele por enquanto

Presumo que seja #4267, mas não tenho certeza.

Uma vez que isso seja resolvido, acredito que ele pretende liberar hoje.

^ Lançamento está no ar, obrigado a todos que ajudaram nos testes!

Uau! Absolutamente surpreendente! Muito obrigado por trazer pipenv de volta à vida!

Em qui, 28 de maio de 2020, 15:17 Dan Ryan, [email protected] escreveu:

^ Lançamento está no ar, obrigado a todos que ajudaram nos testes!


Você está recebendo isso porque está inscrito neste tópico.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/pypa/pipenv/issues/3369#issuecomment-635107609 ou
Cancelar subscrição
https://github.com/notifications/unsubscribe-auth/AAAOGWNSCAEOBRJ5S4WZHADRTXXWHANCNFSM4GJK7LZA
.

^ Lançamento está no ar, obrigado a todos que ajudaram nos testes!

Muito apreciado! :+1: :face_festa:

De acordo com https://pypi.org/project/pipenv/#history , o Pipenv 2020.5.28 já está disponível , então estou encerrando este problema e, portanto, o marco de lançamento .

Obrigado a @techalchemy - e obrigado a Canonical por deixá-lo trabalhar nisso durante parte de seu dia de trabalho.

Na minha opinião: se você usa Python para o seu trabalho e quer lançamentos melhores e mais frequentes desta e de outras ferramentas de empacotamento/distribuição/instalação Python, peça ao seu empregador para contribuir com um patrocínio . Se tiver um orçamento maior, o Grupo de Trabalho de Embalagem pode pagar empreiteiros para trabalhar consistentemente nesses projetos e mantê-los bem.

E se você quiser ajudar como voluntário, leia este anúncio e siga a edição nº 4130 sobre como melhorar o roteiro do Pipenv e os processos de mantenedor-colaborador, que provavelmente é onde mais dessa discussão acontecerá.

Obrigado a todos que contribuíram para este lançamento - usuários, testadores, impulsionadores de sinal, revisores, autores de patches e as pessoas que disseram coisas legais em comentários aqui ou em listas de discussão e mídias sociais!

(Eu escrevi uma postagem no blog sobre o que foi necessário para quebrar o gargalo e lançar este lançamento, e sobre o que você pode fazer para replicar isso para outros projetos - você mesmo ou através da minha empresa, Changeset Consulting .)

Sumana, obrigado por compartilhar essa história. E ainda mais por colocar seu
tempo e energia no renascimento do pipenv. Como você mencionou, o valor desbloqueado
é enorme.

Em sex, 11 set 2020 às 21:05, Sumana Harihareswara [email protected]
escreveu:

(Eu escrevi uma postagem no blog https://www.harihareswara.net/sumana/2020/09/08/0
sobre o que foi necessário para quebrar o gargalo e lançar este lançamento, e
sobre o que você pode fazer para replicar isso para outros projetos - ou
você mesmo ou através da minha empresa, Changeset Consulting https://changeset.nyc/
.)


Você está recebendo isso porque está inscrito neste tópico.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/pypa/pipenv/issues/3369#issuecomment-691029882 ou
Cancelar subscrição
https://github.com/notifications/unsubscribe-auth/AAAOGWNIKWJKNTMUH5PNUZ3SFIAAZANCNFSM4GJK7LZA
.

--
Zaar

Olá a todos,

isso resolve os problemas de WSL vistos em #3488?

O problema que você mencionou não pode ser resolvido no pipenv. Você mesmo precisa configurar seu ambiente conforme descrito no problema.

Esta página foi útil?
0 / 5 - 0 avaliações