Dê a sua opinião sobre a experiência de download do PDF.
Visual Studio | Documentação do
Python
Tutoriais e artigos conceituais sobre o desenvolvimento de aplicativos em Python com o
Visual Studio.
Introdução ao Python no Visual Studio
e VISÃO GERAL
Trabalhar com Python no Visual Studio no Windows
b COMEÇAR AGORA
Instalar o Python no Visual Studio
Escrever e editar seu código
Depurar seu código
Escrever e executar testes
Usar REPL interativo
Gerenciar ambientes do Python
Escrever extensões C/C++ para o Python
Desenvolvimento Web do Python
g TUTORIAL
Começar a usar o Python no Visual Studio
Criar aplicativos Web com Django
Criar aplicativos Web com Flask
Suporte do Python no Visual Studio no
Windows
Artigo • 18/04/2024
O Python é uma linguagem de programação popular que é confiável, flexível, fácil de
aprender, de uso gratuito em todos os sistemas operacionais e respaldada por uma
sólida comunidade de desenvolvedores e várias bibliotecas gratuitas. O Python oferece
suporte a todos os tipos de desenvolvimento, incluindo aplicativos Web, serviços Web,
aplicativos da área de trabalho, scripts e computação científica. Cientistas,
desenvolvedores casuais, desenvolvedores profissionais e muitas universidades usam o
Python para programação. Saiba mais sobre a linguagem em [Link] e em Python
para iniciantes .
O Visual Studio é um IDE do Python poderoso no Windows. O Visual Studio é
compatível com software livre para a linguagem Python por meio de cargas de
trabalho de Desenvolvimento em Python e de Ciência de Dados (Visual Studio 2017 e
posteriores) e a extensão gratuita das Ferramentas Python para Visual Studio (Visual
Studio 2015 e anteriores). Faça um tour pelo IDE do Visual Studio e familiarize-se com
os recursos do IDE para escrita e edição de código em Python.
O Visual Studio Code está disponível para Mac e Linux. Para saber mais, confira
Perguntas e respostas.
Introdução:
Siga as instruções de instalação para configurar a carga de trabalho Python.
Familiarize-se com os recursos do Python no Visual Studio examinando as seções
neste artigo.
Realize ou mais Guias de Início Rápido para criar um projeto. Se não tiver certeza,
comece com Início rápido: Abrir e executar código Python em uma pasta ou Criar
um aplicativo Web com Flask.
Siga o tutorial Trabalhar com o Python no Visual Studio para ter uma experiência
completa de ponta a ponta.
Suporte para vários interpretadores
A janela Ambientes do Python do Visual Studio fornece um único local para gerenciar
todos os ambientes do Python globais, os ambientes do Conda e os ambientes virtuais.
O Visual Studio detecta automaticamente as instalações do Python em locais padrão e
permite que você configure instalações personalizadas. Em cada ambiente, é possível
gerenciar pacotes, abrir uma janela interativa desse ambiente e acessar as pastas do
ambiente facilmente.
Use o comando Abrir janela interativa para executar o Python de maneira interativa no
contexto do Visual Studio. Use o comando Abrir no PowerShell para abrir uma janela
Comando separada na pasta do ambiente selecionado. Nessa janela de comando, você
pode executar qualquer script do Python.
Para mais informações:
Gerenciar ambientes do Python
Referência aos ambientes do Python
Edição avançada, IntelliSense e compreensão
do código
O Visual Studio oferece um editor de Python de primeira classe, incluindo coloração de
sintaxe, preenchimento automático em todo o código e em todas as bibliotecas,
formatação de código, ajuda de assinatura, refatoração, dicas de tipo e linting. O Visual
Studio também fornece recursos exclusivos como modo de exibição de classe, Ir para
Definição, Localizar Todas as Referências e snippets de código. A integração direta com
a janela Interativa ajuda você a desenvolver rapidamente um código em Python
existente em um arquivo.
Para mais informações:
Editar o código Python
Código de formatação
Refatorar o código
Usar um linter
Recursos do editor de código
Janela Interativa
Para cada ambiente do Python conhecido para o Visual Studio, você pode abrir
facilmente o mesmo ambiente interativo (REPL) de um interpretador de Python
diretamente no Visual Studio, em vez de usar um prompt de comando separado.
Também é possível mudar facilmente de ambiente. Para abrir um prompt de comando
separado, selecione o ambiente desejado na janela Ambientes do Python e escolha o
comando Abrir no PowerShell, conforme explicado anteriormente na seção Suporte
para vários interpretadores.
O Visual Studio também fornece uma forte integração entre o editor de código Python
e a janela Interativa. Para facilitar, o atalho de teclado Ctrl+Enter envia a linha de
código (ou bloco de código) atual no editor para a janela Interativa e passa para a
próxima linha (ou bloco). Ctrl+Enter permite percorrer o código facilmente sem precisar
executar o depurador. Também é possível enviar o código escolhido para a janela
Interativa com o mesmo pressionamento de tecla e colar o código facilmente da janela
Interativa para o editor. Juntos, esses recursos permitem que você elabore detalhes de
um segmento de código na janela Interativa e salve os resultados facilmente em um
arquivo no editor.
O Visual Studio também é compatível com IPython/Jupyter no REPL, incluindo gráficos
embutidos, .NET e WPF (Windows Presentation Foundation).
Para mais informações:
Janela Interativa do Python
IPython no Visual Studio
Sistema de projeto e modelos de projeto e de
item
O Visual Studio ajuda você a gerenciar a complexidade de um projeto à medida que ele
cresce ao longo do tempo. Um projeto do Visual Studio é muito mais do que uma
simples estrutura de pastas. Um projeto auxilia no reconhecimento de como diferentes
arquivos são utilizados e como eles se relacionam entre si. O Visual Studio ajuda a
diferenciar código do aplicativo, código de teste, páginas da Web, JavaScript, scripts de
build e assim por diante, o que permite usar os recursos apropriados para cada arquivo.
Uma solução do Visual Studio ajuda você a gerenciar vários projetos relacionados, como
um projeto do Python e um projeto de extensão em C++.
7 Observação
No Visual Studio 2019 e em versões posteriores, você pode abrir uma pasta que
contém código em Python e executar esse código sem criar um arquivo de projeto
ou de solução do Visual Studio. Para obter mais informações, confira Início Rápido:
Abrir e executar código Python em uma pasta. Lembre-se de que há benefícios
em usar um arquivo de projeto, conforme explicado nesta seção.
A imagem abaixo apresenta um exemplo de solução do Visual Studio com projetos do
Python e do Flask no Gerenciador de Soluções.
Os modelos de projeto e de item automatizam o processo de configuração de diversos
tipos de projeto e arquivo. Os modelos proporcionam uma economia de tempo valiosa
e poupam você do gerenciamento de detalhes complexos e propensos a erros. O Visual
Studio oferece modelos para web, Azure, ciência de dados, console e outros tipos de
projeto. Há modelos disponíveis para diversos arquivos, como classes do Python, testes
de unidade, configuração do Azure para web, HTML e até mesmo aplicativos do Django.
Para mais informações:
Gerenciar projetos do Python
Referência de modelos de item
Modelos de projeto do Python
Trabalhar com o C++ e o Python
Criar modelos de projeto e de item
Soluções e projetos no Visual Studio
Depuração completa
Um dos pontos fortes do Visual Studio é seu depurador avançado. Para Python
especificamente, o Visual Studio inclui depuração de modo misto do Python/C++,
depuração remota no Linux, depuração dentro da janela Interativa e depuração de
testes de unidade do Python.
No Visual Studio 2019 e em versões posteriores, é possível executar e depurar código
sem a necessidade de um arquivo de projeto do Visual Studio. Consulte Início Rápido:
abrir e executar o código do Python em uma pasta para conferir um exemplo.
Para mais informações:
Depurar o Python
Depuração de modo misto do Python/C++
Depuração remota no Linux
Tour de funcionalidades do depurador do Visual Studio
Ferramentas de criação de perfil com relatórios
abrangentes
A criação de perfil explora como o tempo está sendo gasto no aplicativo. O Visual
Studio permite a criação de perfil com interpretadores baseados em CPython e inclui a
capacidade de comparar o desempenho entre diferentes execuções de criação de perfil.
Para mais informações:
Ferramentas de criação de perfil do Python
Tour pelos recursos de criação de perfil no Visual Studio
Ferramentas de teste de unidade
Descubra, execute e gerencie testes no Gerenciador de Testes do Visual Studio e depure
testes de unidade com facilidade.
Para mais informações:
Ferramentas de teste de unidade do Python
Realizar teste de unidade do seu código
SDK do Azure para Python
As bibliotecas do Azure para Python simplificam o consumo de serviços do Azure em
aplicativos do Windows, do macOS X e do Linux. Você pode usá-las para criar e
gerenciar recursos do Azure, e para se conectar aos serviços do Azure.
Para obter mais informações, confira SDK do Azure para Python e Bibliotecas do Azure
para Python.
Perguntas e respostas
Q. O suporte para Python está disponível com o Visual Studio para Mac?
R. Ainda não há suporte ao Visual Studio para Mac. Para obter mais informações,
consulte O que está acontecendo com o Visual Studio para Mac? O Visual Studio Code
no Windows, no Mac e no Linux funciona perfeitamente com o Python por meio das
extensões disponíveis .
P. O que pode ser usado para criar a interface do usuário com o Python?
R. A oferta principal nessa área é o Projeto Qt , com associações para Python
conhecidas como PySide (a associação oficial) (consulte também Downloads do
PySide ) e PyQt . O suporte do Python no Visual Studio não inclui quaisquer
ferramentas específicas para desenvolvimento da interface do usuário.
P. Um projeto do Python pode produzir um executável autônomo?
R. Geralmente, o Python é uma linguagem interpretada, na qual o código é executado
sob demanda em um ambiente compatível com o Python, como o Visual Studio e
servidores Web. O Visual Studio ainda não fornece meios para criar um executável
autônomo, o que, basicamente, é um programa com um interpretador de Python
incorporado. No entanto, a comunidade do Python oferece maneiras diferentes de criar
executáveis, conforme descrito em StackOverflow . O CPython também dá suporte a
ser inserido em um aplicativo nativo, conforme descrito na postagem do blog Usar o
arquivo .zip que permite inserção do CPython .
Conteúdo relacionado
Trabalhar com o Python no Visual Studio
Início Rápido: abrir e executar o código do Python em uma pasta
Janela Interativa do Python
Comentários
Esta página foi útil? Yes No
Carga de trabalho para aplicativos de
ciência de dados e análise no Visual
Studio
Artigo • 18/04/2024
A carga de trabalho para aplicativos de ciência de dados e de análise no Visual Studio
reúne várias linguagens e suas respectivas distribuições de runtime:
Python
F# com .NET Framework
O Python é uma das linguagens de script principais usadas para ciência de dados. O
Python é fácil de aprender e tem o suporte de um rico ecossistema de pacotes. Esses
pacotes abordam uma ampla variedade de cenários, como aquisição de dados, limpeza,
treinamento de modelo, implantação e criação de gráficos. O F# também é uma
linguagem do .NET robusta e funcional, adequada a diversas tarefas de processamento
de dados.
Instalação da carga de trabalho
A carga de trabalho para aplicativos de ciência de dados e análise está disponível no
instalador do Visual Studio em Cargas de Trabalho>Outros conjuntos de ferramentas:
Por padrão, a carga de trabalho instala as seguintes opções, que você pode modificar na
seção de resumo da carga de trabalho no Instalador do Visual Studio:
Suporte à linguagem F# da área de trabalho
Python:
Suporte da linguagem Python
Suporte Web do Python
Ferramentas de desenvolvimento nativo do Python
Integração ao SQL Server
O SQL Server dá suporte ao uso do Python para análises avançadas diretamente no SQL
Server. O suporte ao Python está disponível no SQL Server 2017 CTP 2.0 e posterior.
Aproveite as seguintes vantagens executando o código no local em que os dados já
residem:
Eliminação da movimentação de dados: em vez de mover dados do banco de
dados para o aplicativo ou modelo, é possível compilar aplicativo ou modelo no
banco de dados. Essa funcionalidade elimina os obstáculos de segurança,
conformidade, governança e integridade, bem como uma série de problemas
semelhantes relacionados à movimentação de grandes quantidades de dados.
Também é possível consumir conjuntos de dados que não se ajustam à memória
de uma máquina cliente.
Fácil implantação: depois de ter um modelo pronto, implantá-lo na produção é
uma simples questão de incorporar o modelo em um script de T-SQL. Os
aplicativos cliente SQL codificados em qualquer linguagem poderão aproveitar os
modelos e a inteligência por meio de uma chamada de procedimento
armazenado. Nenhuma integração de linguagem específica é necessária.
Desempenho e escala de nível empresarial: você pode usar as funcionalidades
avançadas do SQL Server, como tabelas na memória e índices de armazenamento
de colunas, com as APIs escalonáveis de alto desempenho nos pacotes RevoScale.
Eliminar a movimentação de dados também significa evitar restrições de memória
do cliente à medida que os dados aumentam ou que você deseja aumentar o
desempenho do aplicativo.
Extensibilidade avançada: você pode instalar e executar quaisquer pacotes de
software livre no SQL Server para compilar aplicativos de aprendizado profundo e
de inteligência artificial em grandes quantidades de dados no SQL Server. A
instalação de um pacote no SQL Server é tão simples quanto instalar um pacote no
computador local.
Ampla disponibilidade sem custo adicional: as integrações ade linguagem estão
disponíveis em todas as edições do SQL Server 2017 e posterior, incluindo a edição
Express.
Instalação de integração do SQL Server
Para aproveitar ao máximo a integração ao SQL Server, use o Instalador do Visual Studio
para instalar a carga de trabalho em Cargas de trabalho>Outros Conjuntos de
Ferramentas>Armazenamento e processamento de dados. Selecione a opção SQL
Server Data Tools para habilitar o destaque de sintaxe e a implantação do SQL
IntelliSense.
Para obter mais informações, confira Python in SQL Server 2017: Enhanced in-database
machine learning (blog) .
Outros serviços e SDKs
Além do que está diretamente na carga de trabalho para aplicativos de ciência de dados
e de análise, o Notebooks no Visual Studio Code e o SDK do Azure para Python também
são úteis para ciência de dados.
O SDK do Azure para Python facilita o consumo e gerenciamento de serviços do
Microsoft Azure em aplicativos executados no Windows, Mac e Linux. Para obter mais
informações, confira Azure para desenvolvedores Python.
Você pode combinar a extensão do Jupyter com Notebooks no Visual Studio Code para
dar suporte ao desenvolvimento do Jupyter e aprimorar seu projeto com extensões de
linguagem extras. Como introdução, o serviço inclui blocos de anotações de exemplo
em Python, em R e em F#. Para obter mais informações, confira Experiências de
notebooks da Microsoft e GitHub .
Comentários
Esta página foi útil? Yes No
Instalar o suporte ao Python no Visual
Studio
Artigo • 18/04/2024
Atualmente, o suporte ao Python está disponível apenas no Visual Studio para Windows.
No Mac e no Linux, o suporte ao Python está disponível por meio do Visual Studio
Code .
Pré-requisitos
Visual Studio no Windows. Para instalar o produto, siga as etapas em Instalar o
Visual Studio.
Baixar e instalar a carga de trabalho do Python
Conclua as etapas a seguir para baixar e instalar a carga de trabalho do Python.
1. Baixe e execute o Instalador do Visual Studio mais recente para Windows. O
suporte do Python está presente na versão 15.2 e posterior. Se você já tiver o
Visual Studio instalado, abra-o e execute o instalador selecionando
Ferramentas>Obter Ferramentas e Recursos.
Instalar o Visual Studio Community
Dica
A edição Community é para desenvolvedores individuais, aprendizado em sala
de aula, pesquisa acadêmica e desenvolvimento de software livre. Para outros
usos, instale o Visual Studio Professional ou o Visual Studio Enterprise .
2. O instalador fornece uma lista de cargas de trabalho, que são grupos de opções
relacionadas para áreas de desenvolvimento específicas. Para Python, selecione a
carga de trabalho Desenvolvimento do Python e selecione Instalar:
ノ Expandir a tabela
Opções de Descrição
instalação do
Python
Distribuições do Escolha qualquer combinação de distribuição do Python com a qual
Python você planeja trabalhar. As opções comuns incluem variantes de 32
bits e 64 bits do Python 2, Python 3, Miniconda, Anaconda 2 e
Anaconda 3. Cada opção inclui o interpretador, o runtime e as
bibliotecas da distribuição. A Anaconda, especificamente, é uma
plataforma de ciência de dados aberta que inclui uma ampla gama
de pacotes pré-instalados. O Visual Studio automaticamente detecta
as instalações existentes do Python. Para obter mais informações,
confira Janela de ambientes do Python. Além disso, se uma versão
mais recente do Python do que a versão mostrada no instalador
estiver disponível, você poderá instalar a nova versão separadamente
e o Visual Studio a detectará.
Suporte do Instale a interface do usuário gráfica do Cookiecutter para descobrir
modelo modelos, inserir opções de modelo e criar projetos e arquivos. Para
Cookiecutter obter mais informações, confira Usar a extensão Cookiecutter.
Suporte Web do Instale ferramentas para desenvolvimento na Web, incluindo suporte
Python à edição HTML, CSS e JavaScript, juntamente com modelos para
projetos que usam as estruturas Bottle, Flask e Django. Para obter
mais informações, confira Modelos de projeto Web do Python.
Ferramentas de Instale o compilador do C++ e outros componentes necessários para
desenvolvimento desenvolver extensões nativas para Python. Para obter mais
nativo do Python informações, confira Criar uma extensão do C++ para Python. Além
disso, instale a carga de trabalho Desenvolvimento de área de
trabalho C++ para obter suporte total a C++.
Por padrão, a carga de trabalho do Python é instalada para todos os usuários em
um computador em:
%ProgramFiles%\Microsoft Visual Studio\<VS_version>\
<VS_edition>Common7\IDE\Extensions\Microsoft\Python
em que <VS_version> é 2022 e <VS_edition> é Community, Professional ou
Enterprise.
Testar sua instalação
Verifique rapidamente a instalação do suporte do Python:
1. Inicie o Visual Studio.
2. Selecione Alt + I para abrir a janela Python Interactive.
3. Na janela, insira a instrução 2+2 .
A saída da instrução 4 é exibida na janela. Se você não vir a saída correta, verifique
novamente as etapas.
Conteúdo relacionado
Etapa 1 do tutorial: criar um projeto do Python
Identificar manualmente um interpretador Python existente
Comentários
Esta página foi útil? Yes No
Instalar interpretadores do Python
Artigo • 18/04/2024
Existem diversas opções para instalar interpretadores do Python e trabalhar com o
Visual Studio. É possível instalar um interpretador no momento da instalação da carga
de trabalho do Python ou depois que uma carga de trabalho estiver presente. Também
é possível instalar interpretadores manualmente fora do Instalador do Visual Studio.
Quando você instala a carga de trabalho de desenvolvimento do Python no Visual
Studio 2017 e em versões posteriores, o Python 3 (64 bits) também é instalado por
padrão. Como opção, você pode optar por instalar a versão de 32 bits ou a versão de 64
bits do Python 2 ou do Python 3 com o Miniconda (Visual Studio 2019) ou o Anaconda
2/Anaconda 3 (Visual Studio 2017). As etapas para essa modalidade de instalação estão
em Instalar o suporte ao Python no Visual Studio.
Como alternativa, você pode instalar os interpretadores padrão do Python utilizando o
recurso Adicionar Ambiente no Visual Studio. Essa opção está disponível na janela
Ambientes do Python e na barra de ferramentas do Python.
Também é possível instalar os interpretadores do Python manualmente fora do
Instalador do Visual Studio. Suponha que você instale o Anaconda 3 antes de instalar o
Visual Studio. Não é necessário instalar o Anaconda novamente por meio do Instalador
do Visual Studio. Também é possível instalar uma versão mais recente de um
interpretador que ainda não esteja listada no Instalador do Visual Studio.
Pré-requisitos
O Visual Studio dá suporte ao Python versão 3.7. Embora seja possível utilizar uma
versão anterior do Visual Studio para editar código escrito em versões anteriores
do Python, essas versões do Python não recebem suporte oficial. Alguns recursos
do Visual Studio, como o IntelliSense e a depuração, podem não funcionar com
versões anteriores do Python.
Para o Visual Studio 2015 e versões anteriores, utilize o Python 3.5 ou versões
anteriores. É necessário instalar manualmente um dos interpretadores do Python.
Distribuições do Anaconda
Embora o Visual Studio ofereça a instalação da distribuição do Anaconda, seu uso da
distribuição e de outros pacotes do Repositório do Anaconda são associados pelos
Termos de Serviço do Anaconda . Esses termos podem exigir que algumas
organizações paguem ao Anaconda por uma licença comercial ou configurem as
ferramentas para acessar um repositório alternativo. Para obter mais informações,
consulte a documentação de canais do Conda .
Lista de interpretadores do Python
A tabela a seguir lista os interpretadores do Python que podem ser utilizados com o
Visual Studio.
ノ Expandir a tabela
Interpretador Descrição Observações
CPython O interpretador “nativo” e mais usado, O Visual Studio 2015 e versões
disponível em versões de 32 e 64 bits (o anteriores não oferecem suporte
recomendado é 32 bits). Inclui os últimos ao Python 3.6 ou versões
recursos de linguagem, a compatibilidade posteriores e podem gerar erros,
máxima com pacotes do Python, suporte de como Python versão 3.6 sem
depuração completo e interoperabilidade suporte. Para o Visual Studio
com o IPython . Revise as considerações 2015 e versões anteriores, utilize
em Devo usar o Python 2 ou 3? para o Python 3.5 ou versões
determinar qual versão do Python deve anteriores.
instalar.
IronPython Uma implementação .NET do Python, O IronPython não oferece
disponível nas versões de 32 e 64 bits. suporte a ambientes virtuais.
Fornece interoperabilidade entre
C#/F#/Visual Basic, acesso às APIs .NET,
depuração padrão do Python (mas não
depuração de modo misto em C++) e
depuração mista em IronPython/C#.
Anaconda Uma plataforma aberta de ciência de dados Se você não conseguir decidir
baseada em Python. Inclui a versão mais qual interpretador usar,
recente do CPython e a maioria dos pacotes recomendamos o uso do
difíceis de instalar. Anaconda.
PyPy Uma implementação JIT de rastreamento de Funciona com o Visual Studio,
alto desempenho do Python. Boa para mas com suporte limitado para
programas de execução prolongada e recursos de depuração
situações em que são identificados avançados.
problemas de desempenho, mas não são
encontradas outras resoluções.
Interpretador Descrição Observações
Jython Uma implementação do Python na JVM Funciona com o Visual Studio,
(Máquina Virtual Java). Semelhante ao mas com suporte limitado para
IronPython, o código em execução no Jython recursos de depuração
pode interagir com classes e bibliotecas Java. avançados.
No entanto, muitas das bibliotecas
destinadas ao CPython podem não estar
acessíveis.
Detectar o ambiente
O Visual Studio exibe todos os ambientes conhecidos na janela Ambientes do Python.
Ele detecta automaticamente as atualizações em interpretadores existentes.
Se o Visual Studio não detectar um ambiente instalado, consulte Identificar
manualmente um ambiente existente.
Se você quiser fornecer novas formas de detecção para ambientes do Python, consulte
Detecção para ambiente da PTVS ([Link]).
Entradas do Registro
O Visual Studio (todas as versões) detecta automaticamente cada interpretador Python
instalado e seu ambiente verificando o Registro, de acordo com o PEP 514 – registro do
Python no Registro do Windows . Geralmente, as instalações do Python se encontram
nas chaves HKEY_LOCAL_MACHINE\SOFTWARE\Python (32 bits) e
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Python (64 bits) nos nós da
distribuição, como PythonCore (CPython) e ContinuumAnalytics (Anaconda).
Mover um interpretador
Se você mover um interpretador existente para um novo local usando o sistema de
arquivos, o Visual Studio não detectará automaticamente a alteração.
Se você especificou originalmente o local do interpretador por meio da janela
Ambientes do Python, poderá editar o ambiente usando a guia Configurar nessa
janela para identificar o novo local. Para obter mais informações, consulte
Identificar manualmente um ambiente existente.
Se você instalou o interpretador usando um programa de instalação, use as etapas
a seguir para reinstalar o interpretador no novo local:
1. Restaure o interpretador do Python para o local original.
2. Desinstale-o usando o instalador, que limpa as entradas do Registro.
3. Reinstale o interpretador no novo local.
4. Reinicie o Visual Studio, que deve detectar automaticamente o novo local em
vez do local antigo.
Esse processo garante que as entradas do Registro que identificam o local do
interpretador, usado pelo Visual Studio, sejam atualizadas corretamente. O uso de um
instalador também lida com outros efeitos colaterais que possam existir.
Conteúdo relacionado
Gerenciar ambientes do Python
Selecionar um interpretador para um projeto
Usar [Link] para dependências
Caminhos de pesquisa
Referência da janela de ambientes do Python
Comentários
Esta página foi útil? Yes No
Início rápido: criar o aplicativo Web com
Visual Studio
Artigo • 18/04/2024
Neste guia de início rápido, você cria um aplicativo Web em Python com base na
estrutura Flask no Visual Studio. Crie o projeto por meio de etapas simples para
ajudarão a saber mais sobre os recursos básicos do Visual Studio. Explore como criar
itens de projeto, adicionar código e executar aplicativos.
Se você precisar instalar o Visual Studio, acesse a página de downloads do Visual
Studio para instalá-lo gratuitamente. No Instalador do Visual Studio, selecione a carga
de trabalho de desenvolvimento do Python e, em detalhes da instalação, selecione
Suporte web do Python.
Criar o projeto
As seguintes etapas criam um projeto vazio que serve como um contêiner para o
aplicativo.
1. Abra o Visual Studio. Na tela inicial, selecione Criar um novo projeto.
2. Na caixa de diálogo Criar um novo projeto, insira Web Python na caixa de
pesquisa. Na lista de resultados, selecione Projeto Web e selecione Avançar.
Se você não visualizar os modelos de projeto Web do Python, selecione
Ferramentas>Obter Ferramentas e Recursos para executar o Instalador do Visual
Studio. No instalador, selecione a carga de trabalho de Desenvolvimento de
Python. Em Detalhes da instalação, selecione Suporte à Web Python e, em
seguida, Modificar.
3. Na caixa de diálogo Configurar seu novo projeto, insira HelloPython para Nome
do projeto, especifique um Local do projeto e selecione Criar.
O novo projeto é aberto no Gerenciador de Soluções. O Nome da solução é
definido automaticamente para corresponder ao Nome do projeto. O novo
projeto está vazio porque não contém nenhum arquivo.
Projetos e soluções no Visual Studio
Existem vantagens de criar um projeto no Visual Studio para um aplicativo do Python.
Os aplicativos Python normalmente são definidos usando apenas pastas e arquivos, mas
essa estrutura simples pode se tornar cara conforme o aumento dos aplicativos. Os
aplicativos podem envolver arquivos gerados automaticamente, JavaScript para
aplicativos Web e outros componentes. Um projeto do Visual Studio ajuda a gerenciar
essa complexidade.
O projeto é identificado com um arquivo .pyproj , que identifica todos os arquivos de
origem e de conteúdo associados ao seu projeto. O arquivo .pyproj contém
informações de build de cada arquivo, mantém as informações para integração com
sistemas de controle do código-fonte e ajuda a organizar a aplicação em componentes
lógicos.
Uma solução do Visual Studio é um contêiner que ajuda você a gerenciar um ou mais
projetos relacionados como um grupo. O Visual Studio mostra suas soluções no
Gerenciador de Soluções. A solução armazena as configurações que não são específicas
de um projeto. Os projetos em uma solução também podem fazer referência uns aos
outros. Por exemplo, a execução de um projeto de aplicativo Python pode criar
automaticamente um segundo projeto, como uma extensão C++ usada no aplicativo
Python.
Instalar a biblioteca Flask
Aplicativos Web em Python quase sempre usam uma das muitas bibliotecas Python
disponíveis para lidar com detalhes de baixo nível como o roteamento de solicitações
da Web e formatação de respostas. O Visual Studio oferece muitos modelos para
aplicativos Web. Você cria um projeto a partir de um desses modelos posteriormente
neste Guia de início rápido.
Use as etapas a seguir para instalar a biblioteca Flask no ambiente global padrão que o
Visual Studio usa para este projeto.
1. Expanda o nó Ambiente do Python no projeto para ver o ambiente padrão para o
projeto.
2. Clique com o botão direito do mouse no ambiente e selecione Gerenciar Pacotes
do Python. Esse comando abre a janela Ambientes de Python na guia Pacotes
(PyPI).
3. Insira flask no campo de pesquisa.
Se o comando Flask aparecer abaixo da caixa de pesquisa, o Flask já está
presente no sistema. Siga para a próxima etapa.
Se o comando Flask não aparecer abaixo da caixa de pesquisa, selecione
Executar comando: pip install flask.
Um prompt de elevação aparece se a pasta de pacotes de ambiente global
estiver em uma área protegida como C:\Arquivos de Programas. Aceite as
solicitações de privilégios de administrador. Você pode observar a janela
Saída do Visual Studio para progresso.
4. Depois de instalar o Flask, a biblioteca aparece no ambiente no Gerenciador de
Soluções. Agora você pode usar comandos Flask em seu código Python.
7 Observação
Em vez de instalar as bibliotecas no ambiente global, os desenvolvedores
geralmente criam um ambiente virtual no qual instalar bibliotecas para um projeto
específico. Modelos do Visual Studio geralmente oferecem essa opção, conforme
descrito em Início Rápido: criar um projeto de Python usando um modelo.
Para obter mais informações sobre outros pacotes Python disponíveis, consulte o Índice
de pacotes Python .
Adicionar um arquivo de código
Agora você está pronto para adicionar algum código Python para implementar um
aplicativo Web mínimo.
1. Clique com o botão direito do mouse no projeto no Gerenciador de Soluções e
selecione Adicionar>Novo Item.
2. Na caixa de diálogo Adicionar Novo Item, selecione a opção de arquivo Python
Vazio.
3. Insira o nome de arquivo [Link] e selecione Adicionar. O Visual Studio abre o
arquivo automaticamente em uma janela do editor.
4. Copie o código a seguir e cole no arquivo [Link] :
Python
from flask import Flask
# Create an instance of the Flask class that is the WSGI application.
# The first argument is the name of the application module or package,
# typically __name__ when using a single module.
app = Flask(__name__)
# Flask route decorators map / and /hello to the hello function.
# To add other resources, create functions that generate the page
contents
# and add decorators to define the appropriate resource locators for
them.
@[Link]('/')
@[Link]('/hello')
def hello():
# Render the page
return "Hello Python!"
if __name__ == '__main__':
# Run the app server on localhost:4449
[Link]('localhost', 4449)
A caixa de diálogo Adicionar Novo item exibe muitos outros tipos de arquivos que você
pode adicionar ao projeto do Python, como uma classe do Python, um pacote do
Python, um teste de unidade do Python ou arquivos [Link] . Em geral, esses
modelos de item são uma ótima forma de criar rapidamente arquivos com código clichê
útil.
Para obter mais informações sobre o Flask, consulte o Guia de início rápido do Flask .
Executar o aplicativo
Para executar o aplicativo Web, siga estas etapas:
1. No Gerenciador de Soluções, clique com o botão direito do mouse no arquivo
[Link] e selecione Definir como arquivo de inicialização. Esse comando identifica
o arquivo de código para iniciar em Python ao executar o aplicativo.
2. Clique com o botão direito do mouse no projeto no Gerenciador de Soluções e
selecione Propriedades.
3. Na caixa de diálogo Propriedades, na guia Depurar, defina a propriedade Número
da Porta como 4449 . Essa definição garante que o Visual Studio inicie um
navegador com localhost:4449 para corresponder aos argumentos [Link] no
código.
4. No Visual Studio, selecione Depurar>Iniciar sem depuração ou Ctrl+F5 para salvar
as alterações nos arquivos e executar o aplicativo.
Uma janela de comando é aberta e exibe a mensagem **Executando no
https:// localhost:4449** . Uma janela do navegador é aberta localhost:4449 e
exibe a mensagem Olá, Python!. A solicitação GET também aparece na janela de
comando com um status 200 .
Se um navegador não for aberto automaticamente, abra o navegador de sua
preferência e vá até localhost:4449 .
Caso apareça somente o shell interativo do Python na janela de comando ou se
essa janela piscar brevemente na tela, verifique se o arquivo [Link] está definido
como arquivo de inicialização.
5. Na janela do navegador, vá até localhost:4449/hello para testar se o decorador
do recurso /hello também funciona.
Mais uma vez, a solicitação GET aparece na janela de comando com um status de
200 .
Experimente algumas outras URLs para verificar se mostram os códigos de status
404 na janela de comando.
6. Feche a janela de comando para interromper o aplicativo e, em seguida, a janela
do navegador.
Iniciar com ou sem depurar
Você pode executar seu aplicativo com ou sem depuração habilitada. Estas são as
diferenças entre estas opções:
O comando Iniciar depuração executa o aplicativo no contexto do depurador do
Visual Studio. Com o depurador, é possível definir pontos de interrupção, examinar
variáveis e executar seu código linha por linha. Os aplicativos podem ser
executados mais lentamente no depurador devido aos vários ganchos permitidos
pela depuração.
Use o comando Iniciar sem depuração para executar o aplicativo diretamente sem
contexto de depuração, semelhante à execução do aplicativo a partir da linha de
comando. Esse comando também inicia automaticamente um navegador e abre o
URL especificado na guia Propriedades>Depuração do projeto.
Conteúdo relacionado
Início Rápido: Criar um projeto do Python com em modelo
Tutorial: Introdução ao Python no Visual Studio
Modelos de aplicativo Web Python no Visual Studio
Comentários
Esta página foi útil? Yes No
Início Rápido: abrir e executar o código
do Python em uma pasta no Visual
Studio
Artigo • 18/04/2024
Neste guia de início rápido, você segue as etapas guiadas para executar o código do
Python no Visual Studio 2019 e posterior sem precisar criar um projeto do Visual Studio.
O Visual Studio facilita a abertura e a execução do código do Python existente a partir
de uma pasta. Os mesmos recursos e comandos estão disponíveis para o
desenvolvimento do código do Python, como quando você escolhe trabalhar com um
projeto.
Pré-requisitos
Ter o Visual Studio instalado e compatível com cargas de trabalho do Python. Para
obter mais informações, confira Instalar o suporte ao Python no Visual Studio.
As instruções neste guia de início rápido se aplicam a qualquer pasta com código
Python. Para seguir o exemplo descrito neste artigo, clone o repositório do GitHub
gregmalcolm/python_koans para o computador, usando o seguinte comando:
Console
git clone [Link]
Não há suporte ao Visual Studio para Mac. Para obter mais informações, consulte O que
está acontecendo com o Visual Studio para Mac? O Visual Studio Code no Windows, no
Mac e no Linux funciona perfeitamente com o Python por meio das extensões
disponíveis .
Abra a pasta do código local
Siga estas etapas para abrir uma pasta local com o código do Python existente no Visual
Studio:
1. Inicie o Visual Studio. Na janela Iniciar, selecione Abrir uma pasta local na coluna
Introdução:
Se o Visual Studio já estiver em execução, selecione Arquivo>Abrir>Pasta.
2. Navegue até a pasta que contém o código do Python e escolha Selecionar Pasta:
3. O Visual Studio exibe os arquivos no Gerenciador de Soluções na Exibição de
Pasta. Você pode expandir e recolher uma pasta usando a seta à esquerda do
nome da pasta:
4. Ao abrir uma pasta do Python, o Visual Studio cria várias pastas ocultas para
gerenciar as configurações relacionadas ao programa. Para ver essas pastas (e
quaisquer outros arquivos e pastas ocultos, como a pasta .git), selecione o botão
da barra de ferramentas Mostrar todos os arquivos:
Execute o programa
Depois de abrir o código Python existente no Visual Studio, você pode executar o
programa. Para executar o código, você precisa identificar o arquivo de inicialização
(item de inicialização) ou arquivo de programa primário para o Visual Studio executar o
programa. Neste exemplo, o arquivo de inicialização é [Link].
1. No Gerenciador de Soluções, clique com o botão direito do mouse no arquivo
[Link] e selecione Definir como item de inicialização:
) Importante
Se o item de inicialização não estiver localizado na raiz da pasta que você
abriu, você também deverá adicionar uma linha para o arquivo JSON de
configuração de inicialização conforme descrito em Definir um diretório de
trabalho.
2. Execute o código selecionando Depurar>Iniciar sem Depuração ou use o atalho
de teclado Ctrl+F5. Você também pode selecionar a seta sólida de reprodução ao
lado do nome do item de inicialização na barra de ferramentas do Visual Studio.
Esta opção executa o código no Depurador do Visual Studio.
Em todos esses métodos de inicialização, o Visual Studio detecta que seu item de
inicialização é um arquivo Python e executa automaticamente o código no
ambiente Python padrão. O ambiente atual é mostrado à direita do nome do item
de inicialização na barra de ferramentas. No exemplo a seguir, o ambiente atual é
Python 3.11 (64 bits):
Se você não vir o Ambiente Python atual na barra de ferramentas, selecione
Exibir>Outras janelas>Ambientes Python.
3. Quando o programa é executado, o Visual Studio abre uma janela de comando
para exibir a saída do programa:
7 Observação
Se você executar o programa python-koans com depuração, será necessário
alterar os valores no código para que o programa conclua a execução.
4. Você pode executar o código em um ambiente Python diferente:
a. Expanda a lista suspensa do Ambiente Python atual na barra de ferramentas do
Visual Studio e selecione o ambiente desejado.
b. Reinicie o programa.
5. Quando estiver pronto para fechar a pasta no Visual Studio, selecione
Arquivo>Fechar pasta.
Definir diretório de trabalho
Por padrão, o Visual Studio executa um projeto do Python aberto como uma pasta na
raiz da mesma pasta. No entanto, o código em seu projeto pode pressupor que o
Python esteja sendo executado em uma subpasta. Quando seu código espera localizar
arquivos em locais diferentes da configuração padrão reconhecida pelo Visual Studio,
você talvez enfrente erros ao tentar executá-lo.
Suponha que você abra a pasta raiz do repositório python_koans e veja uma subpasta
chamada python3 que contém um arquivo do Python chamado [Link].
Você decide definir o arquivo python3/[Link] como Arquivo de
inicialização. Quando você executa o código, verá um erro informando que o arquivo
denominado [Link] não foi encontrado. O erro ocorre porque o arquivo contemplate-
[Link] espera que o Python seja executado na pasta python3 em vez de na raiz do
repositório.
Nesses casos, você também deve adicionar uma linha ao arquivo JSON de configuração
de inicialização para especificar o diretório de trabalho:
1. No Gerenciador de Soluções, clique com o botão direito do mouse no arquivo de
inicialização do Python (.py) e selecione Adicionar Configuração de Depuração:
2. Na caixa de diálogo, Selecionar Depurador, selecione a opção Padrão na lista e
escolha Selecionar:
7 Observação
Se você não vir a opção Padrão, verifique se escolheu um arquivo .py do
Python ao selecionar o comando Adicionar Configuração de Depuração. O
Visual Studio usa o tipo de arquivo para determinar as opções do depurador
para exibição.
3. O Visual Studio abre um arquivo chamado [Link], que está localizado na
pasta .vs oculta. Este arquivo descreve o contexto de depuração para o projeto.
Para especificar um diretório de trabalho, adicione um valor para a propriedade
"workingDirectory" . Para o exemplo python-koans , você pode adicionar a
propriedade e valor, "workingDirectory": "python3" :
JSON
{
"version": "0.2.1",
"defaults": {},
"configurations": [
{
"type": "python",
"interpreter": "(default)",
"interpreterArguments": "",
"scriptArguments": "",
"env": {},
"nativeDebug": false,
"webBrowserUrl": "",
"project": "contemplate_koans.py",
"projectTarget": "",
"name": "contemplate_koans.py",
"workingDirectory": "python3"
}
]
}
4. Salve as alterações no arquivo [Link].
5. Executar o programa novamente. A execução do código agora deve ser feita na
pasta especificada.
Conteúdo relacionado
Início Rápido: criar um projeto do Python com base em código existente
Início Rápido: criar um projeto do Python de um repositório
Tutorial: trabalhar com Python no Visual Studio
Comentários
Esta página foi útil? Yes No
Início Rápido: criar projeto do Python
com base em um modelo no Visual
Studio
Artigo • 18/04/2024
Neste início rápido, você seguirá as etapas guiadas para rapidamente criar um aplicativo
Flask usando um modelo interno de projeto Python. O Visual Studio facilita o
desenvolvimento de projetos Python com código clichê e funcionalidade em modelos
para várias estruturas Python, incluindo Flask, Django e Bottle. O projeto Python
descrito neste artigo é semelhante ao projeto que você cria manualmente no artigo
Início Rápido: criar um aplicativo Web com o Flask.
Pré-requisitos
Ter o Visual Studio instalado e compatível com cargas de trabalho do Python.
No instalador do Visual Studio, selecione a carga de trabalho de desenvolvimento
do Python e a opção de suporte Web do Python para acessar modelos de projeto
da Web. Para obter mais informações, confira Instalar o suporte ao Python no
Visual Studio.
Não há suporte ao Visual Studio para Mac. Para obter mais informações, consulte O que
está acontecendo com o Visual Studio para Mac? O Visual Studio Code no Windows, no
Mac e no Linux funciona perfeitamente com o Python por meio das extensões
disponíveis .
Criar o projeto
Siga este procedimento para criar uma solução do Visual Studio e um novo projeto Web
do Flask:
1. No Visual Studio, escolha Arquivo>Novo>Projeto, pesquise "Flask" e selecione o
modelo Projeto Web do Flask em Branco e, em seguida, selecione Avançar.
2. O Visual Studio exibe a caixa de diálogo de configuração do projeto. Insira um
Nome para o projeto e selecione Criar. Você pode manter outros campos com a
configuração padrão.
3. Depois de um momento, o Visual Studio exibe um prompt sobre como lidar com
dependências de pacote. O prompt é diferente dependendo se você já tem
dependências de pacote instaladas.
A caixa de diálogo Este projeto requer pacotes externos. indica que o modelo
selecionado inclui um arquivo [Link] que especifica dependências no
pacote Flask. O Visual Studio pode instalar os pacotes automaticamente, o que
oferece a opção de instalá-los em um ambiente virtual. É recomendável usar um
ambiente virtual na instalação em um ambiente global.
Se essa caixa de diálogo for exibida, selecione a opção Instalar em um ambiente
virtual:
Como alternativa, você pode ver a solicitação arquivo de especificação do pacote
Python "[Link]" foi detectado no projeto <Nome do projeto >". na
parte superior da janela do Visual Studio. Essa solicitação indica que as
dependências de pacote já estão disponíveis em sua configuração. O Visual Studio
pode criar um ambiente virtual para você a partir da configuração existente.
Se você vir essa solicitação, selecione a opção Criar ambiente virtual:
4. O Visual Studio exibe a caixa de diálogo Adicionar ambiente. Aceite o valor
padrão e selecione Criar, depois aprove todas as solicitações de elevação.
Dica
Quando você inicia um projeto, é altamente recomendável criar um ambiente
virtual imediatamente, como a maioria dos modelos do Visual Studio solicita.
Ambientes virtuais mantêm os requisitos exatos do projeto ao longo do tempo,
conforme você adiciona e remove bibliotecas. É possível gerar facilmente um
arquivo [Link], que você usa para reinstalar essas dependências em
outros computadores de desenvolvimento (como quando usar controle do código-
fonte) e ao implantar o projeto em um servidor de produção. Para saber mais sobre
ambientes virtuais e seus benefícios, veja Usar ambientes virtuais e Gerenciar os
pacotes necessários com [Link].
Examinar o código de texto clichê
Nesta seção, você examinará o código clichê no arquivo de projeto do Flask (.py) que o
Visual Studio cria para o modelo selecionado.
1. Abra o Gerenciador de Soluções para exibir sua solução e os arquivos de projeto
do Flask. O projeto inicial contém apenas dois arquivos, [Link] e [Link]:
O arquivo [Link] especifica as dependências de pacote do Flask. A
presença desse arquivo é que faz com que você seja convidado a criar um
ambiente virtual ao desenvolver o projeto pela primeira vez.
O arquivo [Link] único contém um código clichê para um projeto Web do Flask
em branco. O modelo proporciona um código semelhante às descrições no artigo
Guia de início rápido - Criar um aplicativo Web com Flask, com a adição de
algumas seções.
2. Abra o arquivo [Link] no editor e examine a seção superior.
O código começa com uma instrução import para o pacote do Flask. Essa
instrução cria uma instância da classe Flask , que é atribuída à variável app :
Python
from flask import Flask
app = Flask(__name__)
Em seguida, o código atribui a variável wsgi_app , que é útil quando você implanta
o aplicativo Flask em um host da Web:
Python
# Make the WSGI interface available at the top level so wfastcgi can
get it.
wsgi_app = app.wsgi_app
3. A seção do meio atribui uma função a uma rota de URL, o que significa que ela
proporciona o recurso identificado pela URL. Neste caso, a rota define uma
exibição:
Python
@[Link]('/')
def hello():
"""Renders a sample page."""
return "Hello World!"
Você defina rotas usando o decorador @[Link] do Flask, cujo argumento é a
URL relativa da raiz do site. Como é possível ver no código, a função retorna
apenas uma cadeia de texto, que é suficiente para um navegador renderizar.
4. A seção inferior contém o código opcional para iniciar o servidor de
desenvolvimento do Flask. Você pode definir o host e a porta por meio de
variáveis de ambiente em vez de embuti-los em código. Esse código permite
controlar facilmente a configuração nos computadores de desenvolvimento e
produção sem alterar o código:
Python
if __name__ == '__main__':
import os
HOST = [Link]('SERVER_HOST', 'localhost')
try:
PORT = int([Link]('SERVER_PORT', '5555'))
except ValueError:
PORT = 5555
[Link](HOST, PORT)
5. Selecione Depurar>Iniciar sem Depuração para executar o aplicativo Flask e abrir
um navegador para o host padrão e valor de porta, localhost:5555 .
Explorar modelos de Python no Visual Studio
Quando você instala a carga de trabalho do Python, o Visual Studio proporciona vários
modelos de projeto para as estruturas Web do Flask, Bottle, Django e serviços de nuvem
do Azure. Há também modelos para diferentes cenários de aprendizado de máquina e
um modelo para criar um projeto a partir de uma estrutura de pastas existente que
contém um aplicativo Python. Você pode acessar os modelos usando a opção de menu
Arquivo>Novo>Projeto. Selecione o nó da linguagem Python e seus nós filhos para ver
os modelos disponíveis.
O Visual Studio também fornece uma variedade de arquivos ou modelos de item para
criar rapidamente uma classe, pacote, teste de unidade do Python, arquivos [Link] e
muito mais. Quando houver um projeto do Python aberto, acesse os modelos de item
usando a opção de menu Projeto>Adicionar novo item. Para obter mais informações,
veja a referência de modelos de item.
Usar modelos pode economizar tempo significativo ao iniciar um projeto ou criar um
arquivo. Eles também são uma ótima maneira de aprender sobre diferentes tipos de
aplicativos e estruturas de código. É útil levar reservar alguns minutos para criar projetos
e itens a partir de vários modelos para se familiarizar com o que eles oferecem.
Usar modelos do Cookiecutter
O Visual Studio proporciona a integração direta com o Cookiecutter para ajudar você
a descobrir modelos e opções de modelo de entrada, além de criar projetos e arquivos.
Para obter mais informações, consulte o artigo Início Rápido: criar um projeto a partir de
um modelo Cookiecutter.
Conteúdo relacionado
Tutorial: trabalhar com Python no Visual Studio
Identificar manualmente um interpretador Python existente
Diretório de instalação de ferramentas do Python
Comentários
Esta página foi útil? Yes No
Início Rápido: criar um projeto do
Python com base em um código
existente no Visual Studio
Artigo • 18/04/2024
Neste guia de início rápido, você segue as etapas guiadas para criar rapidamente um
novo projeto do Python a partir do código existente. O Visual Studio facilita a
transferência do código Python para um projeto do Visual Studio, com o assistente Criar
novo projeto a partir do código Python existente.
Pré-requisitos
Ter o Visual Studio instalado e compatível com cargas de trabalho do Python. Para
obter mais informações, confira Instalar o suporte ao Python no Visual Studio.
Não há suporte ao Visual Studio para Mac. Para obter mais informações, consulte O que
está acontecendo com o Visual Studio para Mac? O Visual Studio Code no Windows, no
Mac e no Linux funciona perfeitamente com o Python por meio das extensões
disponíveis .
Use o assistente para criar um projeto com
base em arquivos existentes
Siga estas etapas para criar um projeto com arquivos existentes.
) Importante
O processo a seguir não move nem copia nenhum arquivo de origem original. Se
você quiser trabalhar com uma cópia de seus arquivos, primeiro duplique a pasta e,
em seguida, crie o projeto.
1. Inicie o Visual Studio e selecione Arquivo>Novo>Projeto.
2. Na caixa de diálogo Criar um projeto, pesquise python, selecione o modelo De
código do Python existente e Avançar.
3. Na caixa de diálogo Configurar novo projeto, insira um Nome e Local para o
projeto, escolha a solução para contê-lo e selecione Criar.
4. No assistente Criar novo projeto do código Python existente, defina o Caminho
da pasta para o código existente, defina um Filtro para tipos de arquivo e
especifique os Caminhos de pesquisa necessários para o projeto e selecione
Avançar. Se você não souber os caminhos de pesquisa, deixe o campo em branco.
5. Na próxima página, selecione o Arquivo de inicialização do projeto. O Visual
Studio seleciona o interpretador e a versão globais padrão do Python. Você pode
alterar o ambiente usando o menu suspenso. Quando estiver pronto, selecione
Próximo.
7 Observação
A caixa de diálogo mostra apenas arquivos na pasta raiz. Se o arquivo
desejado estiver em uma subpasta, deixe o arquivo de inicialização em
branco. Você pode definir o arquivo de inicialização no Gerenciador de
Soluções, conforme descrito em uma etapa posterior.
6. Selecione o local para armazenar o arquivo de projeto (um arquivo .pyproj no
disco). Caso se aplique, também será possível incluir a detecção automática de
ambientes virtuais e personalizar o projeto para outras estruturas da Web. Se você
não tiver certeza sobre essas opções, deixe os campos com as configurações
padrão.
7. Selecione Concluir.
O Visual Studio cria e abre o projeto no Gerenciador de Soluções. Se você quiser
mover o arquivo .pyproj para um local diferente, selecione o arquivo no
Gerenciador de Soluções e selecione Arquivo>Salvar comona barra de
ferramentas. Essa ação atualizará as referências de arquivo no projeto, mas não
moverá nenhum arquivo de código.
8. Para definir um arquivo de inicialização diferente, localize o arquivo no
Gerenciador de Soluções, clique com o botão direito do mouse e selecione Definir
como Arquivo de Inicialização.
Agora você pode executar seu programa selecionando Depurar>Iniciar sem Depuração
na barra de ferramentas principal do Visual Studio ou usar o atalho do teclado Ctrl+F5.
Conteúdo relacionado
Tutorial: trabalhar com Python no Visual Studio
Identificar manualmente um interpretador Python existente
Início Rápido: abrir e executar o código do Python em uma pasta no Visual Studio
Comentários
Esta página foi útil? Yes No
Início Rápido: clonar um repositório de
código do Python no Visual Studio
Artigo • 18/04/2024
Neste guia de início rápido, você segue as etapas guiadas para clonar um repositório
GitHub de um código do Python e criar um projeto. O Visual Studio facilita o trabalho
com projetos do Python usando comandos Git para acessar o conteúdo sob o controle
do código-fonte. Também é possível clonar repositórios do código do Python na linha
de comando e, em seguida, trabalhar com os projetos no Visual Studio.
Pré-requisitos
Ter o Visual Studio 2022 instalado e compatível com cargas de trabalho do Python.
O Visual Studio 2022 viabiliza a integração perfeita com o GitHub compatível com
os comandos Git. Para obter mais informações, confira Instalar o suporte ao
Python no Visual Studio.
Não há suporte ao Visual Studio para Mac. Para obter mais informações, consulte O que
está acontecendo com o Visual Studio para Mac? O Visual Studio Code no Windows, no
Mac e no Linux funciona perfeitamente com o Python por meio das extensões
disponíveis .
Clonar arquivos do repositório existente
Use as seguintes etapas para clonar um repositório existente usando os comandos de
controle do código-fonte Git do Visual Studio:
1. No Visual Studio, selecione Git>Clone:
2. Na caixa de diálogo Clonar um repositório, especifique o repositório GitHub a ser
clonado:
a. No local do repositório, insira o URL do repositório que deve ser clonado. Para
este exercício, insira [Link] .
b. No Caminho, insira a pasta em seu sistema onde você deseja que o Visual
Studio armazene os arquivos clonados.
A pasta especificada deve ser a pasta exata que você quer que o Visual Studio
use. Ao contrário do comando git clone , ao criar um clone no Team Explorer,
o Visual Studio não cria automaticamente uma subpasta com o nome do
repositório.
c. Quando estiver pronto, selecione Clonar.
Após a conclusão da clonagem, o Visual Studio abre o painel Alterações do Git
para o repositório. Você também pode ver a pasta com os arquivos de repositório
clonados no Gerenciador de Soluções.
3. Selecione Git>Repositórios Locais e verifique se o repositório clonado está agora
na lista:
) Importante
Neste guia de início rápido, você cria um clone direto do repositório python_koans
no GitHub. Esse tipo de repositório é protegido pelo autor contra alterações
diretas, portanto, a tentativa de confirmar as alterações no repositório falhará. Na
prática, os desenvolvedores criam fork desse tipo de repositório em suas próprias
contas do GitHub, fazem as alterações ali mesmo e, em seguida, criam solicitações
de pull para enviar essas alterações para o repositório original. Quando você tiver
seu próprio fork, use a URL dele em vez da URL do repositório original usada
anteriormente.
Criar um projeto a partir de arquivos clonados
Depois de clonar o repositório, você pode criar um novo projeto a partir dos arquivos
clonados.
Siga estas etapas para criar um projeto com arquivos existentes.
) Importante
O processo a seguir não move nem copia nenhum arquivo de origem original. Se
você quiser trabalhar com uma cópia de seus arquivos, primeiro duplique a pasta e,
em seguida, crie o projeto.
1. Inicie o Visual Studio e selecione Arquivo>Novo>Projeto.
2. Na caixa de diálogo Criar um projeto, pesquise python, selecione o modelo De
código do Python existente e Avançar.
3. Na caixa de diálogo Configurar novo projeto, insira um Nome e Local para o
projeto, escolha a solução para contê-lo e selecione Criar.
4. No assistente Criar novo projeto do código Python existente, defina o Caminho
da pasta para o código existente, defina um Filtro para tipos de arquivo e
especifique os Caminhos de pesquisa necessários para o projeto e selecione
Avançar. Se você não souber os caminhos de pesquisa, deixe o campo em branco.
5. Na próxima página, selecione o Arquivo de inicialização do projeto. O Visual
Studio seleciona o interpretador e a versão globais padrão do Python. Você pode
alterar o ambiente usando o menu suspenso. Quando estiver pronto, selecione
Próximo.
7 Observação
A caixa de diálogo mostra apenas arquivos na pasta raiz. Se o arquivo
desejado estiver em uma subpasta, deixe o arquivo de inicialização em
branco. Você pode definir o arquivo de inicialização no Gerenciador de
Soluções, conforme descrito em uma etapa posterior.
6. Selecione o local para armazenar o arquivo de projeto (um arquivo .pyproj no
disco). Caso se aplique, também será possível incluir a detecção automática de
ambientes virtuais e personalizar o projeto para outras estruturas da Web. Se você
não tiver certeza sobre essas opções, deixe os campos com as configurações
padrão.
7. Selecione Concluir.
O Visual Studio cria e abre o projeto no Gerenciador de Soluções. Se você quiser
mover o arquivo .pyproj para um local diferente, selecione o arquivo no
Gerenciador de Soluções e selecione Arquivo>Salvar comona barra de
ferramentas. Essa ação atualizará as referências de arquivo no projeto, mas não
moverá nenhum arquivo de código.
8. Para definir um arquivo de inicialização diferente, localize o arquivo no
Gerenciador de Soluções, clique com o botão direito do mouse e selecione Definir
como Arquivo de Inicialização.
Configurar as propriedades do projeto
Para executar o projeto, você precisa identificar o diretório de trabalho para o projeto e
informar ao Visual Studio qual arquivo usar como o arquivo de inicialização.
Siga estas etapas para configurar as propriedades do projeto:
1. No Gerenciador de Soluções, expanda o nó do projeto, clique com botão direito
do mouse no arquivo contemplate_koans.py e selecione Definir como arquivo de
inicialização. Essa ação permite que o Visual Studio saiba qual arquivo usar para
executar o projeto.
2. Na barra de ferramentas principal do Visual Studio, selecione
Projeto>Propriedades para abrir as respectivas Propriedades.
3. Na guia Geral, observe o valor do Diretório de Trabalho para o projeto.
Por padrão, o Visual Studio define o Diretório de Trabalho como a raiz do projeto
( . ). Observe que o arquivo de inicialização não tem nenhum local de pasta
específico.
O código do programa clonado procura um arquivo chamado [Link] no
diretório de trabalho. O código espera que o diretório seja o local da pasta onde
você instruiu o Visual Studio a armazenar os arquivos de repositório clonados. Se
você deixar o Diretório de Trabalho definido como a raiz do projeto ( . ), o
programa gerará erros de runtime.
4. Defina o valor do Diretório de Trabalho como o local da pasta do repositório
clonado, como C:\Users\contoso\source\repos\Python-Koans .
Dica
Uma maneira rápida de confirmar o local da pasta para os arquivos clonados
é verificar as propriedades do arquivo clonado no Gerenciador de Soluções.
Clique com o botão direito do mouse no arquivo [Link] e selecione
Propriedades para abrir o painel Detalhes no Gerenciador de Soluções. No
painel Detalhes, observe que o local da pasta para o arquivo está listado na
propriedade Caminho completo. Você pode colar esse valor no campo
Diretório de Trabalho na página Propriedades do projeto.
5. Salve as alterações e feche o painel Propriedades do projeto.
Executar programa do Python
Agora você está pronto para tentar executar o aplicativo para o novo projeto:
1. Selecione Depurar>Iniciar sem Depuração (ou use o atalho de teclado Ctrl+F5)
para executar o programa.
Se você vir o erro de runtime FileNotFoundError para o arquivo [Link], verifique
se o Diretório de Trabalho está definido corretamente, conforme descrito na seção
Anterior.
2. Quando o programa é executado com êxito, ele exibe um erro de asserção na
linha 17 do arquivo de projeto /koans/about_asserts.py:
O erro de asserção é intencional. O programa foi projetado para ensinar Python,
fazendo com que você corrija todos os erros intencionais. Você pode encontrar
mais informações sobre o programa em Ruby Koans , que serviu de inspiração
para o Python Koans.
3. Saia do programa.
4. No Gerenciador de Soluções, dê um clique duplo no arquivo
/koans/about_asserts.py para abrir o arquivo no editor:
Por padrão, números de linha não aparecem no editor. Para ver os números de
linha, selecione Ferramentas>Opções, expanda a seção Editor de
Texto>Python>Geral e selecione a opção Números de linha:
5. Corrija o erro no arquivo /koans/about_asserts.py alterando o argumento False na
linha 17 para True . Esta deve ser a aparência do código atualizado:
Python
[Link](True) # This value should be True
6. Execute o programa novamente.
Se o Visual Studio alertar sobre erros, responde com Sim para continuar a
execução do código. Desta vez, o programa passa pela primeira verificação e para
no koan seguinte. Você pode continuar a corrigir outros erros e executar o
programa para ver os ajustes.
Conteúdo relacionado
Clonar um repositório Git no Visual Studio
Criar um repositório Git do Visual Studio
Tutorial: trabalhar com Python no Visual Studio
Comentários
Esta página foi útil? Yes No
Início Rápido: criar um projeto por meio
de um modelo do Cookiecutter
Artigo • 18/04/2024
Neste guia de início rápido, você segue as etapas guiadas para criar um novo projeto
usando um modelo do Cookiecutter, incluindo muitos que estão publicados no GitHub.
O Cookiecutter fornece uma interface gráfica do usuário para descobrir modelos e
opções de modelo de entrada e criar projetos e arquivos. O Visual Studio 2017 e
posterior inclui a extensão Cookiecutter. Ela pode ser instalada separadamente em
versões anteriores do Visual Studio.
Pré-requisitos
Ter o Visual Studio instalado e compatível com cargas de trabalho do Python. Para
obter mais informações, confira Instalar o suporte ao Python no Visual Studio.
Python 3.3 ou posterior (32 ou 64 bits) ou o Anaconda 3 versão 4.2 ou posterior
(32 ou 64 bits).
Se um interpretador do Python adequado não estiver disponível, o Visual Studio
exibirá um aviso.
Se você instalar um interpretador do Python enquanto o Visual Studio estiver
em execução, selecione a opção Início na barra de ferramentas do Cookiecutter
Explorer para detectar o interpretador recém-instalado. Para obter mais
informações, consulte Criar e gerenciar ambientes do Python no Visual Studio.
Criar um projeto usando o Cookiecutter
1. No Visual Studio, selecione Arquivo>Novo>A partir do Cookiecutter. Esse
comando abre a janela do Cookiecutter no Visual Studio, onde você pode
procurar modelos.
2. Na janela do Cookiecutter, selecione o modelo Microsoft/python-sklearn-
classifier-cookiecutter na seção Recomendado.
3. Para clonar e instalar o modelo selecionado, selecione Avançar.
O processo poderá levar vários minutos na primeira vez que você usar um modelo
específico, já que o Visual Studio instala os pacotes do Python necessários.
4. Depois de instalar e clonar um modelo localmente, o Cookiecutter exibe a página
Opções, onde você especifica configurações para o seu novo projeto.
a. Defina o campo Criar para como o local onde você quer que o Visual Studio
armazene os novos arquivos de projeto, como C:\repos\python-sklearn-
classifier-cookiecutter\ .
b. Selecione Criar e abrir projeto. (Se você estiver adicionando o novo projeto a
uma solução existente, verá a opção Adicionar à Solução.)
Quando o processo for concluído, você verá a mensagem Arquivos criados com
êxito usando o modelo…. O projeto é aberto no Gerenciador de Soluções
automaticamente.
5. Para executar o programa, selecione Depurar>Iniciar sem Depuração ou use o
atalho de teclado Ctrl+F5. O programa gera um gráfico de curva de recall de
precisão:
Conteúdo relacionado
Usar a extensão Cookiecutter
Tutorial: trabalhar com Python no Visual Studio
Comentários
Esta página foi útil? Yes No
Tutorial: Trabalhar com Python no Visual
Studio
Artigo • 09/02/2024
Neste tutorial, você aprenderá a trabalhar com o Python no Visual Studio. O Python é
uma linguagem de programação popular que é confiável, flexível, fácil de aprender de
uso gratuito em todos os sistemas operacionais. O Python tem suporte de uma
comunidade de desenvolvedores forte e conta com muitas bibliotecas gratuitas. O
Python dá suporte a todos os tipos de desenvolvimento, incluindo aplicativos Web,
serviços Web, aplicativos da área de trabalho, scripts e computação científica. Muitas
universidades, cientistas, desenvolvedores casuais e desenvolvedores profissionais usam
o Python. O Visual Studio fornece suporte de linguagem de primeira classe para o
Python.
Este tutorial orienta você em um processo de seis etapas:
" Etapa 1: criar um projeto do Python (este artigo)
" Etapa 2: escrever e executar código para ver o IntelliSense do Visual Studio
funcionando
" Etapa 3: criar mais código na janela REPL interativa
" Etapa 4: executar o programa concluído no depurador do Visual Studio
" Etapa 5: instalar pacotes e gerenciar ambientes do Python
" Etapa 6: Trabalhar com o Git
Este artigo aborda as tarefas na Etapa 1. Você cria um projeto e examina os elementos
da interface do usuário visíveis no Gerenciador de Soluções.
Pré-requisitos
Visual Studio com a carga de trabalho do Python instalada. Para obter instruções,
confira Instalar as ferramentas do Python para Visual Studio.
Etapa 1: criar um novo projeto do Python
Um projeto é como o Visual Studio gerencia todos os arquivos que se reúnem para
produzir um determinado aplicativo. Os arquivos de aplicativo incluem código-fonte,
recursos e configurações. Um projeto formaliza e mantém as relações entre todos os
arquivos do projeto. O projeto também gerencia recursos externos que são
compartilhados entre vários projetos. Um projeto permite que seu aplicativo expanda e
cresça sem esforço. Usar projetos é mais fácil do que gerenciar relacionamentos
manualmente em pastas não planejadas, scripts, arquivos de texto e na sua memória.
Neste tutorial você começará com um projeto simples, contendo apenas um arquivo de
código vazio.
1. No Visual Studio, selecione Arquivo>Novo>Projeto ou use o atalho de teclado
Ctrl+Shift+N. A tela Criar um projeto é exibida, e nela você pode pesquisar e
procurar modelos em diferentes linguagens de programação.
2. Para exibir modelos do Python, pesquise python. O uso da pesquisa é uma ótima
maneira de localizar um modelo quando você não se lembra da localização na
árvore de linguagens.
O suporte à Web do Python no Visual Studio inclui vários modelos de projeto,
como aplicativos Web nas estruturas Bottle, Flask e Django. Ao instalar o Python
com o Instalador do Visual Studio, selecione Suporte Web do Python em Opcional
para instalar esses modelos. Para este tutorial, comece com um projeto vazio.
3. Selecione o modelo Aplicativo do Python e depois Avançar.
4. Na tela Configurar seu novo projeto, especifique um nome e um local de arquivo
para o projeto e selecione Criar.
Após alguns instantes, seu novo projeto será aberto no Visual Studio:
Isto é o que você vê:
(1) A janela do Gerenciador de Soluções do Visual Studio mostra a estrutura do
projeto.
(2) O arquivo de código padrão será aberto no editor.
(3) A janela Propriedades mostra mais informações para o item selecionado no
Gerenciador de Soluções, incluindo a localização exata dele no disco.
Examinar elementos no Gerenciador de
Soluções
Dedique algum tempo para se familiarizar com o Gerenciador de Soluções, que é o
local em que você poderá procurar arquivos e pastas em seu projeto.
(1) No nível superior está a solução, que, por padrão, tem o mesmo nome que seu
projeto. Uma solução, representada por um arquivo .sln no disco, é um contêiner
para um ou mais projetos relacionados. Por exemplo, se você escreve uma
extensão de C++ para o seu aplicativo Python, o projeto de C++ poderá residir na
mesma solução. A solução também poderá conter um projeto para um serviço
Web, juntamente com projetos para programas de teste dedicados.
(2) Seu projeto está realçado em negrito e usa o nome que você inseriu na caixa
de diálogo Criar um projeto. No disco, esse projeto é representado por um
arquivo .pyproj na pasta do projeto.
(3) Em seu projeto, você vê arquivos de origem. Neste exemplo, você tem apenas
um arquivo .py. Quando se seleciona um arquivo, as respectivas propriedades são
exibidas na janela Propriedades. Se você não vir a janela Propriedades, selecione o
ícone de chave inglesa no banner do Gerenciador de Soluções. Ao clicar duas
vezes em um arquivo, ele será aberto da forma que for apropriada para esse
arquivo.
(4) No projeto também há o nó Ambientes do Python. Expanda o nó para mostrar
os interpretadores do Python disponíveis.
(5) Expanda um nó do interpretador para ver as bibliotecas que estão instaladas
naquele ambiente.
Clique com o botão direito do mouse em qualquer nó ou item no Gerenciador de
Soluções para mostrar um menu de contexto de comandos aplicáveis. Por exemplo,
Renomear permite alterar o nome de um nó ou item, incluindo o projeto e a solução.
Próxima etapa
Etapa 2: Escrever e executar o código
Conteúdo relacionado
Projetos do Python no Visual Studio
Saiba mais sobre a linguagem Python em [Link]
Python para iniciantes ([Link])
Etapa 2: Escrever e executar código
Artigo • 14/07/2023
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
Etapa anterior: Criar um novo projeto do Python
Embora o Gerenciador de Soluções seja o local em que você gerencia arquivos de
projeto, a janela do editor normalmente é o local em que você trabalha com o conteúdo
dos arquivos, como o código-fonte. O editor está contextualmente ciente do tipo de
arquivo que você está editando. O editor também reconhece a linguagem de
programação (com base na extensão do arquivo) e oferece recursos apropriados para
essa linguagem, como a coloração de sintaxe e o preenchimento automático usando o
IntelliSense.
1. Quando você cria um novo projeto do "Aplicativo Python", um arquivo vazio
padrão chamado [Link] é aberto no editor do Visual Studio.
2. No editor, comece digitando print("Hello, Visual Studio") e observe como o
Visual Studio IntelliSense exibe opções de preenchimento automático durante a
digitação. A opção contornada na lista suspensa é o preenchimento padrão usado
ao pressionar a tecla Tab. As conclusões são mais úteis quando instruções ou
identificadores mais longos estão envolvidos.
3. O IntelliSense mostra diferentes informações, com base da instrução que está
sendo usada, da função que está sendo chamada e assim por diante. Com a
função print , ao digitar ( depois de print para indicar uma chamada função, as
informações de uso completas dessa função são exibidas. O pop-up do
IntelliSense também mostra o argumento atual em negrito (valor conforme
mostrado aqui):
4. Preencha a instrução para que ela corresponda ao código abaixo:
Python
print("Hello, Visual Studio")
5. Observe a coloração de sintaxe que diferencia a instrução print do argumento
"Hello Visual Studio" . Você pode excluir temporariamente a última " na cadeia
de caracteres e observe como o Visual Studio mostra um sublinhado vermelho
para o código que contém erros de sintaxe. Por fim, substitua o " para corrigir o
código.
Dica
Como o ambiente de desenvolvimento é uma questão muito pessoal, o Visual
Studio oferece controle total sobre a aparência e o comportamento do Visual
Studio. Selecione o comando de menu Ferramentas>Opções e explore as
configurações nas guias Ambiente e Editor de Texto. Por padrão, você vê
somente um número limitado de opções; para ver todas as opções de todas
as linguagens de programação, selecione Mostrar todas as configurações na
parte inferior da caixa de diálogo.
6. Execute o código que você escreveu até este ponto, pressionando Ctrl+F5 ou
selecionando o item de menu Depurar>Iniciar Sem Depuração. O Visual Studio
avisará se ainda houver erros em seu código.
7. Quando você executar o programa, uma janela do console exibirá os resultados. É
semelhante à execução de um interpretador do Python com [Link]
da linha de comando. Pressione qualquer tecla para fechar a janela e retornar ao
editor do Visual Studio.
8. Além das conclusões para instruções e funções, o IntelliSense fornece
preenchimentos para instruções import e from do Python. Esses preenchimentos
ajudam você a descobrir com facilidade quais módulos estão disponíveis no
ambiente e os membros desses módulos. No editor, exclua a linha print e comece
a digitar import . Uma lista de módulos é exibida quando você digita o espaço:
9. Preencha a linha digitando ou selecionando sys .
10. Na próxima linha, digite from para ver uma lista de módulos novamente:
11. Selecione ou digite math e continue digitando com um espaço e import , o que
exibe os membros do módulo:
12. Conclua com a importação dos membros cos e radians , observando os
preenchimentos automáticos disponíveis para cada um. Quando terminar, o
código deverá ser exibido da seguinte maneira:
Python
import sys
from math import cos, radians
Dica
Os preenchimentos trabalham com subcadeias de caracteres durante a
digitação, encontrando a correspondência de partes de palavras, letras no
início de palavras e até mesmo caracteres ignorados. Confira Editar o código
– Preenchimentos para obter detalhes.
13. Adicione um pouco mais de código para imprimir os valores de cosseno para 360
graus:
Python
for i in range(360):
print(cos(radians(i)))
14. Execute o programa novamente com Ctrl+F5 ou Depurar>Iniciar Sem Depuração.
Quando terminar, feche a janela de saída.
Próxima etapa
Usar a janela interativa REPL
Aprofunde-se um pouco mais
Editar código
Código de formatação
Refatorar o código
Usar PyLint
Etapa 3: usar a janela interativa REPL
Artigo • 20/07/2023
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
Etapa anterior: Gravar e executar código
A Janela Interativa do Visual Studio para Python oferece uma experiência avançada de
REPL (leitura-avaliação-impressão-loop), que reduz consideravelmente o ciclo comum
de edição-compilação-depuração. A Janela Interativa fornece todos os recursos da
experiência de REPL da linha de comando do Python. Ela também facilita a troca de
código com arquivos de origem no editor do Visual Studio, o que seria complicado com
a linha de comando.
7 Observação
Para problemas com REPL, verifique se os pacotes ipython e ipykernel estão
instalados e, para obter ajuda na instalação dos pacotes, confira a guia de pacotes
de ambientes Python.
1. Abra a Janela Interativa clicando com o botão direito do mouse no ambiente de
projeto do Python no Gerenciador de Soluções (como Python 3.6 (32 bits),
mostrado em um gráfico anterior) e selecionando Abrir Janela Interativa. Como
alternativa, você pode selecionar Exibir>Outras Janelas>Janelas Interativas do
Python no menu principal do Visual Studio.
2. A Janela Interativa abre-se abaixo do editor com o prompt padrão de REPL do
Python >>>. A lista suspensa Ambiente permite selecionar um intérprete
específico com o qual trabalhar. Se você quiser aumentar a Janela Interativa,
poderá arrastar o separador entre as duas janelas, como mostrado na imagem
abaixo:
Dica
Você pode redimensionar todas as janelas no Visual Studio, arrastando os
separadores de bordas. Você também pode arrastar e retirar janelas para fora
do quadro do Visual Studio e reorganizá-las da forma que quiser dentro do
quadro. Para obter detalhes completos, confira Personalizar layouts de janela.
3. Insira algumas instruções, como print("Hello, Visual Studio") , e expressões,
como 123/456 , para ver resultados imediatos:
4. Ao começar a escrever uma instrução de várias linhas (como uma definição de
função) a Janela Interativa mostrará o prompt ... do Python para continuar as
linhas. Ao contrário do REPL de linha de comando, isso proporcionará recuo
automático. Você pode adicionar uma nova linha ... pressionando Shift+Enter :
5. A Janela Interativa fornece um histórico completo de tudo o que foi inserido, e é
uma melhoria do REPL de linha de comando com itens de histórico de várias
linhas. Por exemplo, com facilidade, é possível cancelar toda a definição da função
f como uma única unidade e alterar o nome para make_double , em vez de recriar
a função linha por linha.
6. O Visual Studio pode enviar várias linhas de código de uma janela do editor para a
Janela Interativa. Essa capacidade permite que você mantenha o código em um
arquivo de origem e envie facilmente fragmentos selecionados para a Janela
Interativa. Assim, você poderá trabalhar com esses fragmentos de código no
ambiente REPL rápido em vez de ter que executar o programa inteiro. Para ver
esse recurso, primeiro substitua o loop for no arquivo [Link] pelo
código abaixo:
Python
# Create a string with spaces proportional to a cosine of x in degrees
def make_dot_string(x):
return ' ' * int(20 * cos(radians(x)) + 20) + 'o'
7. Selecione as instruções de função import , from e make_dot_string no arquivo .py.
Clique com o botão direito do mouse no texto selecionado e escolha Enviar para
Interativo (ou pressione Ctrl+Enter). O fragmento de código será imediatamente
colado na Janela Interativa e executado. Como o código definiu uma função, é
possível testar essa função rapidamente chamando-a algumas vezes:
Dica
O uso de Ctrl+Enter no editor sem uma seleção, executará a linha de código
atual na Janela Interativa e posicionará automaticamente o cursor na próxima
linha. Com esse recurso, ao pressionar Ctrl+Enter repetidamente, você terá
uma maneira conveniente de percorrer o código, o que não é possível
somente com a linha de comando do Python. Isso também permitirá que
você percorra o código sem executar o depurador e sem, necessariamente,
começar desde o início do programa.
8. Você também pode copiar e colar várias linhas de código de qualquer fonte na
Janela Interativa, como no snippet a seguir, o que é difícil fazer com o REPL da
linha de comando do Python. Ao colar, a Janela Interativa executa o código como
se você o tivesse digitado:
Python
for i in range(360):
s = make_dot_string(i)
print(s)
9. Como você pode ver, esse código funciona bem, mas a saída não é muito
impressionante. Um valor de etapa diferente no loop for mostraria mais da curva
do cosseno. Todo o loop for está disponível no histórico de REPL como uma única
unidade. Você pode voltar e fazer as alterações desejadas e depois testar a função
novamente. Pressione a seta para cima para, primeiro, recuperar o loop for . Você
pode navegar no código pressionando as setas para a esquerda e para a direita
(até que você faça isso, as setas para baixo e para cima continuam a percorrer o
histórico). Navegue até a especificação range e altere-a para range(0, 360, 12) .
Em seguida, pressione Ctrl+Enter em qualquer lugar no código para executar toda
a instrução novamente:
10. Repita o processo para fazer experiências com configurações de etapas diferentes,
até encontrar um valor que você mais goste. Você também pode fazer a curva se
repetir, aumentando o intervalo, por exemplo, range(0, 1800, 12) .
11. Quando estiver satisfeito com o código que você escreveu na Janela Interativa,
selecione-o. Em seguida, clique com o botão direito do mouse no código e
escolha Copiar Código (Ctrl+Shift+C). Por fim, cole o código selecionado no
editor. Observe como esse recurso especial do Visual Studio omite
automaticamente qualquer saída, bem como os prompts >>> e ... . Por exemplo,
a imagem abaixo mostra o uso do comando Copiar Código em uma seleção que
inclui os prompts e a saída:
Ao colar no editor, você obtém somente o código:
Python
for i in range(0, 1800, 12):
s = make_dot_string(i)
print(s)
Se quiser copiar o conteúdo exato da Janela Interativa, incluindo os prompts e a
saída, basta usar o comando padrão Copiar.
12. O que você acabou de fazer é usar o ambiente de REPL rápido da Janela Interativa
para planejar os detalhes de uma pequena parte de código e depois adicionou
convenientemente esse código ao arquivo de origem do seu projeto. Agora, ao
executar o código novamente com Ctrl+F5 (ou Depurar>Iniciar sem Depurar),
você verá exatamente os resultados desejados.
Próxima etapa
Executar o código no depurador
Aprofunde-se um pouco mais
Usar a Janela Interativa
Usar o IPython REPL
Etapa 4: Executar o código no
depurador
Artigo • 11/08/2023
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
Etapa anterior: usar a janela interativa REPL
O Visual Studio fornece recursos para gerenciar projetos, uma experiência de edição
avançada, a janela Interativa e a depuração completa para código Python. No
depurador, você pode executar seu código passo a passo, incluindo cada iteração de
um loop. Você também pode pausar o programa sempre que determinadas condições
são verdadeiras. A qualquer momento em que o programa estiver em pausa no
depurador, você poderá examinar todo o estado do programa e alterar o valor de
variáveis. Essas ações são essenciais para a localização de bugs do programa e também
fornecem recursos úteis para seguir o fluxo exato do programa.
1. Substitua o código no arquivo [Link] pelo código a seguir. Essa
variação do código expande o make_dot_string para que você possa examinar as
etapas distintas no depurador. Ela também coloca o loop for em uma função
main e executa-o explicitamente, chamando essa função:
Python
from math import cos, radians
# Create a string with spaces proportional to a cosine of x in degrees
def make_dot_string(x):
rad = radians(x) # cos works with
radians
numspaces = int(20 * cos(rad) + 20) # scale to 0-40 spaces
st = ' ' * numspaces + 'o' # place 'o' after the
spaces
return st
def main():
for i in range(0, 1800, 12):
s = make_dot_string(i)
print(s)
main()
2. Verifique se o código funciona corretamente pressionando F5 ou selecionando o
comando de menu Depurar>Iniciar Depuração. Esse comando executa o código
no depurador. Até agora, nada foi feito para pausar o programa enquanto ele está
em execução; ele apenas imprimirá um padrão de onda para algumas iterações.
Pressione qualquer tecla para fechar a janela de saída.
Dica
Para fechar a Janela de Saída automaticamente quando o programa for
concluído, selecione o comando de menu Ferramentas>Opções, expanda o
nó do Python, selecione Depuração e, em seguida, desmarque a opção
Aguardar pela entrada quando o processo for encerrado normalmente:
Para obter mais informações sobre depuração e como definir argumentos de
script e interpretador, confira Depurar seu código Python.
3. Defina um ponto de interrupção na instrução for clicando uma vez na margem
cinza próxima a essa linha ou colocando o cursor na linha e usando o comando
Depurar>Ativar/Desativar Ponto de Interrupção (F9). Um ponto vermelho é
exibido na margem cinza para indicar o ponto de interrupção (conforme indicado
pela seta abaixo):
4. Inicie o depurador novamente (F5) e veja que a execução do código é
interrompida na linha com o ponto de interrupção. Aqui você pode inspecionar a
pilha de chamadas e examinar variáveis. As variáveis que estão no escopo
aparecem na janela Autos quando elas estão definidas. Você também pode
alternar para a exibição Locais na parte inferior dessa janela para mostrar todas as
variáveis que o Visual Studio localiza no escopo atual (incluindo funções), antes
mesmo que elas sejam definidas:
5. Observe a barra de ferramentas de depuração (mostrada abaixo) na parte superior
da janela do Visual Studio. Essa barra de ferramentas fornece acesso rápido aos
comandos de depuração mais comuns (que também podem ser encontrados no
menu Depurar):
Os botões, da esquerda para a direita, são os seguintes:
Botão Comando
Continuar (F5) Executa o programa, até o próximo ponto de interrupção ou até a
conclusão do programa.
Interromper Tudo Pausa um programa de longa execução.
(Ctrl+Alt+Break)
Parar Depuração Interrompe o programa onde quer que esteja e sai do depurador.
(Shift+F5)
Reiniciar Interrompe o programa no ponto em que está e o reinicia no
(Ctrl+Shift+F5) depurador.
Mostrar Próxima Alterna para a próxima linha de código a ser executada. Isso é útil
Instrução (Alt+Num*) quando você navega em seu código durante uma sessão de
depuração e deseja retornar rapidamente ao ponto em que o
depurador está em pausa.
Entrar em (F11) Executa a próxima linha de código, entrando em funções
chamadas.
Passo a passo (F10) Executa a próxima linha de código sem entrar em funções
chamadas.
Sair (Shift+F11) Executa o restante da função atual e pausa no código de
chamada.
6. Contorne a instrução for usando Contornar. Passo a passo significa que o
depurador executa a linha de código atual, incluindo todas as chamadas de função
e, em seguida, imediatamente entra em pausa outra vez. Observe, no código,
como a variável i agora está definida nas janelas Locais e Autos.
7. Contorne a próxima linha de código, que chama make_dot_string e entra em
pausa. Aqui o Contorno significa especificamente que o depurador executa todo o
make_dot_string e entra em pausa ao retornar. O depurador não é interrompido
dentro dessa função, a menos que exista nela outro ponto de interrupção.
8. Continue depurando o código passo a passo mais algumas vezes e observe como
os valores na janela Locais ou Autos se alteram.
9. Na janela Locais ou Autos, clique duas vezes na coluna Valor das variáveis i ou s
para editar o valor. Pressione Enter ou selecione uma área fora desse valor para
aplicar alterações, se houver.
10. Continuar percorrendo o código passo a passo, usando Intervir. Intervir significa
que o depurador entra dentro de qualquer chamada de função para a qual ele
tenha informações de depuração, como make_dot_string . Uma vez dentro do
make_dot_string , você pode examinar as variáveis locais e percorrer o código
especificamente.
11. Continue depurando passo a passo com Intervir e observe que, ao chegar ao fim
do make_dot_string , a próxima etapa retorna para o loop for com o novo valor
retornado na variável s . Conforme você avança novamente para a instrução
print , observe que o Intervir em print não entra nessa função. Isso ocorre
porque print não está escrita em Python, mas é código nativo dentro do runtime
do Python.
12. Continue usando Intervir até que você esteja novamente quase em
make_dot_string . Então, use Sair e observe que você retornará ao loop for . Com
Sair, o depurador executa o restante da função e faz automaticamente uma pausa
no código de chamada. Isso é útil quando você percorre alguma parte de uma
função longa que deseja depurar. Ele percorrerá o restante e não definirá um
ponto de interrupção explícito no código de chamada.
13. Para continuar a execução do programa até que o próximo ponto de interrupção
seja atingido, use Continuar (F5). Como há um ponto de interrupção no loop for ,
você interrompe na próxima iteração.
14. Percorrer centenas de iterações de um loop pode ser entediante, portanto, o Visual
Studio permite que você adicione uma condição a um ponto de interrupção. Assim,
o depurador só pausa o programa no ponto de interrupção quando a condição é
satisfeita. Por exemplo, você pode usar uma condição com o ponto de interrupção
na instrução for para que ele faça uma pausa somente quando o valor de i
exceder 1600. Para definir a condição, clique com o botão direito do mouse no
ponto de interrupção e selecione Condições (Alt+F9>C). Na janela pop-up
Configurações de Ponto de Interrupção exibida, insira i > 1600 como a
expressão e selecione Fechar. Pressione F5 para continuar e observe que o
programa executa muitas iterações antes da próxima interrupção.
15. Para executar o programa até a conclusão, desabilite o ponto de interrupção
clicando com o botão direito do mouse no ponto na margem e selecionando
Desabilitar ponto de interrupção (Ctrl+F9). Em seguida, selecione Continuar (ou
pressione F5) para executar o programa. Quando o programa for finalizado, o
Visual Studio interromperá a sessão de depuração e retornará para o modo de
edição. Você também pode excluir o ponto de interrupção selecionando seu ponto
ou clicando com o botão direito do mouse no ponto e selecionando Excluir ponto
de interrupção. Ele também exclui qualquer condição que você tenha definido
anteriormente.
Dica
Em algumas situações, como uma falha ao iniciar o interpretador do Python em si,
a janela de saída poderá aparecer apenas rapidamente e fechar-se
automaticamente, sem dar uma oportunidade de ver as mensagens de erros. Se
isso acontecer, clique com botão direito do mouse no projeto no Gerenciador de
Soluções, selecione Propriedades, selecione a guia Depurar e adicione -i ao
campo Argumentos do Interpretador. Esse argumento faz com que o
interpretador entre no modo interativo após a conclusão de um programa,
mantendo a janela aberta até que você pressione Ctrl+Z>Enter para sair.
Próxima etapa
Instalar pacotes no ambiente do Python
Aprofunde-se um pouco mais
Depuração
Depuração no Visual Studio oferece uma documentação completa sobre os
recursos de depuração do Visual Studio.
Etapa 5: Instalar pacotes no ambiente
do Python
Artigo • 14/03/2023
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
Etapa anterior: executar o código no depurador
A comunidade de desenvolvedores do Python produziu milhares de pacotes úteis que
você pode incorporar em seus próprios projetos. O Visual Studio oferece uma interface
do usuário para gerenciar pacotes em seus ambientes do Python.
Exibir ambientes
1. Selecione o comando de menu Exibir>Outras Janelas>Ambientes do Python. A
janela Ambientes de Python será aberta como um par com o Gerenciador de
Soluções e mostrará os diferentes ambientes disponíveis para você. A lista mostra
ambos os ambientes em que você instalou usando o instalador do Visual Studio e
aqueles que você instalou separadamente. Isso inclui ambientes globais, virtuais e
do conda. O ambiente em negrito é o ambiente padrão, que é usado para novos
projetos. Para obter mais informações sobre como trabalhar com ambientes,
confira Como criar e gerenciar ambientes do Python em ambientes do Visual
Studio.
7 Observação
Você também pode usar o atalho de teclado Ctrl+K, Ctrl+` para abrir a janela
Ambientes do Python da janela do Gerenciador de Soluções. Se o atalho não
funcionar e você não encontrar a janela Ambientes do Python no menu, é
possível que você não tenha instalado a carga de trabalho do Python. Confira
Como instalar o suporte do Python no Visual Studio no Windows para obter
diretrizes sobre como instalar o Python.
Com um projeto do Python aberto, você pode abrir a janela Ambientes do Python
por meio do Gerenciador de Soluções. Clique com o botão direito do mouse em
Ambientes do Python e selecione Exibir Todos os Ambientes do Python.
2. Agora, crie um projeto com Arquivo>Novo >Projeto, escolhendo o modelo
Aplicativo do Python.
3. No arquivo de código que é exibido, cole o código a seguir, que cria uma curva de
cosseno como nas etapas anteriores do tutorial, só que desta vez, plotada
graficamente. Você também pode usar o projeto criado anteriormente e substituir
o código.
Python
from math import radians
import numpy as np # installed with matplotlib
import [Link] as plt
def main():
x = [Link](0, radians(1800), radians(12))
[Link](x, [Link](x), 'b')
[Link]()
main()
4. Na janela do editor, passe o mouse sobre as instruções de importação numpy e
matplotlib . Você observará que eles não foram resolvidos. Para resolver as
instruções de importação, instale os pacotes no ambiente global padrão.
5. Quando olhar para a janela do editor, observe que quando você passa o mouse
sobre as instruções de importação numpy e matplotlib , elas não são resolvidas. O
motivo é que os pacotes não foram instalados no ambiente global padrão.
Por exemplo, escolha Abrir janela Interativa e uma janela Interativa desse
ambiente específico será exibida no Visual Studio.
6. Use a lista suspensa abaixo da lista de ambientes para alternar para a guia Pacotes.
A guia Pacotes lista todos os pacotes que estão atualmente instalados no
ambiente.
Instalar pacotes usando a janela Ambientes do
Python
1. Na janela Ambientes do Python, selecione o ambiente padrão para novos projetos
do Python e escolha a guia Pacotes. Em seguida, você verá uma lista de pacotes
que estão atualmente instalados no ambiente.
Instalar pacotes em um ambiente
2. Instale matplotlib inserindo o nome dele no campo de pesquisa e, em seguida,
selecionando a opção Executar comando: pip install matplotlib. A execução do
comando instalará matplotlib e todos os pacotes dos quais ele depende (nesse
caso, incluindo numpy ).
3. Escolha a guia Pacotes.
4. Dê permissão para a elevação, se for solicitado.
5. Depois de instalar o pacote, ele aparecerá na janela Ambientes de Python. O X à
direita do pacote serve para desinstalá-lo.
6. Dê permissão para a elevação, se for solicitado.
7. Depois que o pacote for instalado, ele aparecerá na janela Ambientes de Python.
O X à direita do pacote serve para desinstalá-lo.
7 Observação
Uma pequena barra de progresso pode ser exibida sob o ambiente para
indicar que o Visual Studio está criando o banco de dados do IntelliSense
para o pacote recém-instalado. A guia IntelliSense também mostra mais
informações detalhadas. Observe que, até que o banco de dados seja
concluído, os recursos do IntelliSense, como preenchimento automático e
verificação de sintaxe, não estarão ativos no editor para esse pacote.
O Visual Studio 2017 versão 15.6 e posterior usa um método diferente e mais
rápido para trabalhar com o IntelliSense e exibe uma mensagem para esse
efeito na guia IntelliSense.
Execute o programa
Agora que o matplotlib está instalado, execute o programa com (F5) ou sem o
depurador (Ctrl+F5) para ver a saída:
Próxima etapa
Trabalhar com o Git
Aprofunde-se um pouco mais
Ambientes do Python
Saiba mais sobre Django no Visual Studio
Conheça o Flask no Visual Studio
Etapa 6: Trabalhar com o Git
Artigo • 13/01/2024
Etapa anterior: instalar pacotes e gerenciar o ambiente do Python
Adicionar o controle do código-fonte do Git
Agora que você criou um aplicativo, pode ser interessante adicioná-lo a um repositório
Git. O Visual Studio facilita esse processo com as ferramentas de Git que você pode usar
diretamente no IDE.
Dica
O Git é o sistema de controle de versão moderno mais usado, portanto, se você é
um desenvolvedor profissional ou está aprendendo a codificar, o Git pode ser
muito útil. Se você é novo no Git, o site [Link] é um bom local
para começar. Lá você vai encontrar roteiros, um livro online popular e vídeos de
Conceitos Básicos do Git.
Para associar seu código ao Git, comece criando um repositório Git no local em que o
código está localizado:
1. Na barra de status no canto inferior direito do Visual Studio, selecione Adicionar
ao Controle do Código-Fonte e selecione Git.
2. Na caixa de diálogo Criar um repositório Git, entre no GitHub.
O nome do repositório é preenchido automaticamente com base no local da sua
pasta. O novo repositório é privado por padrão, o que significa que você é o único
que pode acessá-lo.
Dica
Não importa se o repositório é público ou privado, é melhor ter um backup
remoto do código armazenado com segurança no GitHub. Mesmo que você
não esteja trabalhando com uma equipe, um repositório remoto disponibiliza
seu código para você em qualquer computador.
3. Selecione Criar e Efetuar Push.
Depois de criar o repositório, você verá detalhes do status na barra de status.
O primeiro ícone com as setas mostra quantos commits de saída/entrada estão no
branch atual. Você pode usar esse ícone para efetuar pull de qualquer commit de
entrada ou efetuar push de commits de saída. Você também pode optar por exibir
primeiro esses commits. Para fazer isso, selecione o ícone e selecione Exibir
Saída/Entrada.
O segundo ícone com o lápis mostra o número de alterações não confirmadas no
código. Você pode selecionar este ícone para exibir essas alterações na janela
Alterações do Git.
Para saber mais sobre como usar o Git com seu aplicativo, veja a documentação de
controle de versão do Visual Studio.
Análise do tutorial
Parabéns por concluir este tutorial sobre Python no Visual Studio. Neste tutorial, você
aprendeu como:
Criar projetos e exibir o conteúdo do projeto.
Use o editor de código e executar um projeto.
Use a janela Interativa para desenvolver um novo código e copiar facilmente esse
código para o editor.
Executar um programa concluído no depurador do Visual Studio.
Instalar pacotes e gerenciar ambientes do Python.
Trabalhar com o código em um repositório do Git.
Agora, explore os Conceitos e guias de Instruções, incluindo os seguintes artigos:
Criar uma extensão do C++ para o Python
Criação de perfil
Teste de unidade
Tutorial: Introdução à estrutura da Web
do Django no Visual Studio
Artigo • 08/09/2023
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
O Django é uma estrutura do Python de alto nível projetada para um
desenvolvimento da Web rápido, seguro e escalonável. Este tutorial explora a estrutura
do Django no contexto dos modelos de projeto. O Visual Studio fornece os modelos de
projeto para simplificar a criação de aplicativos Web baseados no Django.
Neste tutorial, você aprenderá como:
Criar um projeto básico do Django em um repositório Git usando o modelo
"Projeto Web em Branco do Django" (etapa 1).
Criar um aplicativo do Django com uma página e renderizar essa página usando
um modelo (etapa 2).
Fornecer arquivos estáticos, adicionar páginas e usar a herança do modelo (etapa
3).
Usar o modelo de projeto Web do Django para criar um aplicativo com várias
páginas e um design responsivo (etapa 4).
Autenticar usuários (etapa 5).
Pré-requisitos
Visual Studio 2022 no Windows com as seguintes opções:
A carga de trabalho desenvolvimento do Python (guia Carga de Trabalho no
instalador). Para obter mais instruções, confira Instalar o suporte do Python no
Visual Studio.
Git para Windows na guia Componentes individuais em Frramentas de
código.
Os modelos de projeto do Django também incluem versões anteriores do plug-in
Ferramentas Python para Visual Studio. Os detalhes do modelo podem ser diferentes do
que é discutido neste tutorial (especialmente diferente das versões anteriores da
estrutura do Django).
No momento, não há suporte para o desenvolvimento do Python no Visual Studio para
Mac. No Mac e no Linux, use a Extensão Python no Visual Studio Code .
"Projetos do Visual Studio" e "Projetos do Django"
Na terminologia do Django, um "projeto do ngo" tem vários arquivos de configuração
no nível do site, juntamente com um ou mais "aplicativos". Para criar um aplicativo Web
completo, você pode implantar esses aplicativos em um host da Web. Um projeto do
Django pode conter vários aplicativos e o mesmo aplicativo pode estar presente em
vários projetos do Django.
Um projeto do Visual Studio ode conter o projeto do Django juntamente com vários
aplicativos. Sempre que este tutorial se referir apenas a um "projeto," ele estará se
referindo ao projeto do Visual Studio. Quando se referir ao "projeto do Django" do
aplicativo Web, ele estará se referindo ao "projeto do Django" especificamente.
No decorrer deste tutorial, você criará uma única solução do Visual Studio que contém
três projetos independentes do Django. Cada projeto contém um único aplicativo do
Django. Você pode alternar facilmente entre arquivos diferentes para comparação,
mantendo os projetos na mesma solução.
Etapa 1-1: Criar uma solução e um projeto do
Visual Studio
Ao trabalhar com o Django na linha de comando, você geralmente inicia um projeto
executando o comando django-admin startproject <project_name> . No Visual Studio, o
modelo "Projeto Web em Branco do Django", fornecerá a mesma estrutura em uma
solução e um projeto do Visual Studio.
1. No Visual Studio, escolha Arquivo>Novo>Projeto, pesquise "Django" e selecione
o modelo Projeto Web Django em Branco e, em seguida, selecione Avançar.
2. Insira as seguintes informações e selecione Criar:
Nome do Projeto: defina o nome do projeto do Visual Studio como
BasicProject. Esse nome também é usado para o projeto do Django.
Local: especifique um local para criar o projeto e a solução do Visual Studio.
Solução: mantenha esse controle definido com a opção padrão Criar nova
solução.
Nome da solução: definido como LearningDjango, que é apropriado para a
solução de um contêiner para vários projetos neste tutorial.
Etapa 1-2: Examinar os controles do Git e
publicar em um repositório remoto
Nesta etapa, você se familiarizará com os controles do Git do Visual Studio e o Team
Explorer. Com a janela do Team Explorer, você trabalhará com o controle do código-
fonte.
1. Para fazer commit do projeto no controle do código-fonte local:
a. Selecione o comando Adicionar ao Controle do Código-Fonte no canto inferior
da janela principal do Visual Studio.
b. Em seguida, selecione a opção Git.
c. Agora, você será levado para a janela Criar repositório Git, na qual poderá criar
e enviar por push um novo repositório.
2. Depois de criar um repositório, um conjunto de novos controles do Git aparecerá
na parte inferior. Da esquerda para direita, esses controles mostram commits não
enviados, alterações não confirmadas, o branch atual e o nome do repositório.
3. Selecione o botão Alterações do Git. Em seguida, o Visual Studio abre a página
Alterações do Git no Team Explorer. Você não vê nenhuma alteração pendente,
pois já foi feito commit do projeto recém-criado automaticamente no controle do
código-fonte.
4. Na barra de status do Visual Studio, marque o botão de confirmação não enviada
(a seta para cima com um 2) para abrir a página Sincronização no Team Explorer.
A página Sincronização fornece opções fáceis para publicar o repositório local em
outros repositórios remotos.
Você pode escolher o serviço que você quiser para seus projetos. Este tutorial
mostra o uso do GitHub, em que o código de exemplo concluído do tutorial é
mantido no repositório Microsoft/python-sample-vs-learning-django .
5. Ao selecionar qualquer um dos controles Publicar, o Team Explorer solicitará mais
informações. Por exemplo, ao publicar o exemplo deste tutorial, o próprio
repositório teve que ser criado primeiro, e a opção Enviar por Push para o
Repositório Remoto foi usada com a URL do repositório.
Se você não tiver um repositório, as opções Publicar no GitHub e Enviar por Push
para o Azure DevOps permitirão criar um repositório diretamente no Visual
Studio.
6. Ao trabalhar com este tutorial, adquira o hábito de usar periodicamente os
controles no Visual Studio para confirmar e enviar alterações por push. Este tutorial
envia-lhe lembretes nos pontos apropriados.
Dica
Para navegar rapidamente no Team Explorer, selecione o cabeçalho (que indica
Alterações ou Efetuar Push nas imagens acima) para ver um menu pop-up das
páginas disponíveis.
Pergunta: Quais são algumas vantagens de usar o
controle do código-fonte a partir do início de um
projeto?
Reposta: o uso do controle do código-fonte desde o início, especialmente se você
também usa um repositório remoto, fornece um backup regular do projeto em um local
externo. Em vez de manter um projeto em um sistema de arquivos local, o controle do
código-fonte oferece um histórico de alterações completo e facilita a reversão de um
único arquivo ou todo o projeto para o estado anterior. O histórico de alterações ajuda
a determinar a causa das regressões (falhas de teste). Quando várias pessoas estão
trabalhando em um projeto, o controle do código-fonte gerencia a substituição e
fornece resolução de conflitos.
Por fim, o controle do código-fonte, que é basicamente uma forma de automação, deixa
você preparado para automatizar o gerenciamento de builds, testes e versões. É a
primeira etapa no uso do DevOps em um projeto. Na verdade, não há razão para não
usar o controle do código-fonte desde o início, pois as barreiras à sua adoção são
poucas.
Para uma discussão mais aprofundada sobre o controle do código-fonte usado como
automação, confira A fonte da verdade: a função dos repositórios no DevOps, um artigo
da MSDN Magazine destinado a aplicativos móveis, mas que também se aplica a
aplicativos Web.
Pergunta: É possível evitar que o Visual Studio faça
commit automaticamente de um novo projeto?
Resposta: Sim. Para desabilitar o commit automático, acesse a página Configurações no
Team Explorer. Selecione Git>Configurações globais, desmarque a opção rotulada
Confirmar alterações após a mesclagem por padrão e selecione Atualizar.
Etapa 1-3: Criar o ambiente virtual e excluí-lo
do controle do código-fonte
Agora que você configurou o controle do código-fonte para o projeto, é possível criar o
ambiente virtual que contém os pacotes necessários do Django para o projeto. Você
pode usar o Team Explorer para excluir a pasta do ambiente do controle do código-
fonte.
1. No Gerenciador de Soluções, clique com o botão direito do mouse no nó
Ambientes do Python e selecione Adicionar Ambiente.
2. Selecione Criar para aceitar os padrões na caixa de diálogo Adicionar Ambiente
Virtual. (Se desejar, o nome do ambiente virtual pode ser alterado. Essa ação
alterará apenas o nome da subpasta, mas env é uma convenção padrão).
3. Dê a concessão aos privilégios de administrador, se solicitado, e aguarde alguns
minutos enquanto o Visual Studio baixa e instala os pacotes. Durante esse tempo,
milhares de arquivos são transferidos para muitas subpastas. Confira o progresso
na janela Saída no Visual Studio. Enquanto você aguarda, analise as seções de
perguntas a seguir.
4. Nos controles do Git do Visual Studio (na barra de status), selecione o indicador de
alterações (que mostra 99*) que abre a página Alterações no Team Explorer.
A criação do ambiente virtual gerou milhares de alterações, mas nenhuma delas
precisará ser incluída no controle do código-fonte já que você (ou qualquer outra
pessoa que venha a clonar o projeto) poderá sempre recriar o ambiente com base
no [Link].
5. Para excluir o ambiente virtual, clique com o botão direito do mouse na pasta env
e selecione Ignorar estes itens locais.
6. Depois de excluir o ambiente virtual, as únicas alterações restantes são as
referentes ao arquivo do projeto e ao arquivo .gitignore. O arquivo .gitignore
contém uma entrada adicional para a pasta do ambiente virtual. Você pode clicar
duas vezes no arquivo para ver uma comparação.
7. Digite uma mensagem de confirmação, escolha o botão Confirmar Todos e envie
as confirmações por push para o repositório remoto.
Pergunta: Por que criar um ambiente virtual?
Resposta: Um ambiente virtual é uma ótima maneira de isolar as dependências exatas
do seu aplicativo. Esse isolamento evita conflitos em um ambiente global do Python e
auxilia nos testes e na colaboração. Com o tempo, à medida que desenvolver um
aplicativo, invariavelmente, você introduzirá muitos pacotes úteis do Python. Você pode
atualizar facilmente o arquivo [Link] do projeto mantendo pacotes em um
ambiente virtual específico do projeto. O arquivo [Link] descreve o ambiente,
que está incluído no controle do código-fonte. Quando o projeto é copiado para outros
computadores, incluindo servidores de build, servidores de implantação e outros
computadores de desenvolvimento, é fácil recriar o ambiente usando apenas o
[Link] (é por isso que o ambiente não precisa estar no controle do código-
fonte). Para obter mais informações, confira Usar ambientes virtuais.
Pergunta: Como faço para remover um ambiente virtual
que já está confirmado no controle do código-fonte?
Resposta: primeiro, edite o arquivo .gitignore para excluir a pasta. Localize a seção final
que traz o comentário # Python Tools for Visual Studio (PTVS) e adicione uma nova
linha para a pasta do ambiente virtual, como /BasicProject/env . (O Visual Studio não
mostra o arquivo no Gerenciador de Soluções. Para abrir o arquivo diretamente, acesse
Arquivo>Abrir>Arquivo. Você também pode abrir o arquivo no Team Explorer. Acesse
a página Configurações e selecione Configurações do Repositório. Agora, navegue até
a seção Ignorar & Arquivos de Atributos e selecione o link Editar ao lado de .gitignore).
Em segundo lugar, abra uma janela de comando, navegue até uma pasta como a
BasicProject. A pasta BasicProject contém a pasta do ambiente virtual, como env, e
execute git rm -r env . Em seguida, confirme essas alterações na linha de comando
( git commit -m 'Remove venv' ) ou confirme na página Alterações do Team Explorer.
Etapa 1-4: Examinar o código de texto clichê
Após concluir a criação do projeto, analise o código do projeto do Django de texto
clichê (que é novamente o mesmo gerado pelo comando django-admin startproject
<project_name> da CLI).
1. A raiz do projeto tem o [Link], o utilitário administrativo de linha de comando
do Django que o Visual Studio define automaticamente como o arquivo de
inicialização do projeto. Execute o utilitário na linha de comando usando python
[Link] <command> [options] . Para tarefas comuns do Django, o Visual Studio
fornece comandos de menu apropriados. Clique com o botão direito do mouse no
projeto no Gerenciador de Soluções e escolha Python para ver a lista. Você vai se
deparar com alguns desses comandos no decorrer deste tutorial.
2. Em seu projeto, há uma pasta com o mesmo nome do projeto. Ela contém os
arquivos do projeto básico do Django:
__init.py: um arquivo vazio que informa o Python se essa pasta é um pacote
do Python.
[Link]: contém as configurações do projeto do Django, que você vai
modificar no decorrer do desenvolvimento de um aplicativo Web.
[Link]: contém um sumário do projeto do Django, que você também vai
modificar no decorrer do desenvolvimento.
[Link]: um ponto de entrada para os servidores Web compatíveis com WSGI
para atender ao projeto. Este arquivo normalmente fica no estado em que se
encontra, pois ele fornece os ganchos para os servidores Web de produção.
3. Conforme observado anteriormente, o modelo do Visual Studio também adiciona
um arquivo [Link] ao projeto especificando a dependência de pacote do
Django. A presença desse arquivo é que faz com que você seja convidado a criar
um ambiente virtual ao desenvolver o projeto pela primeira vez.
Pergunta: O Visual Studio pode gerar um arquivo
[Link] a partir de um ambiente virtual depois
de instalar outros pacotes?
Resposta: Sim. Expanda o nó Ambientes do Python, clique com o botão direito do
mouse no ambiente virtual e escolha o comando Gerar [Link]. É
recomendável usar esse comando periodicamente conforme você modifica o ambiente
e confirma as alterações em [Link] no controle do código-fonte, juntamente
com outras alterações de código que dependem desse ambiente. Se você configurar a
integração contínua em um servidor de compilação, deverá gerar o arquivo e confirmar
as alterações sempre que modificar o ambiente.
Etapa 1-5: Executar o projeto vazio do Django
1. No Visual Studio, selecione Depurar>Iniciar Depuração (F5) ou use o botão
Servidor Web na barra de ferramentas (o navegador que você vai ver pode variar):
2. Executar o servidor significa executar o comando [Link] runserver <port> , que
inicia o servidor de desenvolvimento interno do Django. Se o Visual Studio
informar Falha ao iniciar o depurador com uma mensagem que alerta para a
ausência de um arquivo de inicialização, clique com o botão direito do mouse em
[Link] no Gerenciador de Soluções e selecione Definir como Arquivo de
Inicialização.
3. Ao iniciar o servidor, você vê uma janela do console aberta que também exibe o
log do servidor. O Visual Studio abre automaticamente um navegador com a
página [Link] . Como o projeto do Django não tem aplicativos,
o Django mostra apenas uma página padrão para confirmar que o que você tem
até agora está funcionando corretamente.
4. Quando terminar, interrompa o servidor fechando a janela do console ou usando o
comando Depurar>Parar Depuração no Visual Studio.
Pergunta: O Django é um servidor Web e uma estrutura?
Resposta: Sim e não. O Django tem um servidor Web interno que é usado para fins de
desenvolvimento. Esse servidor Web é usado quando você executa o aplicativo Web
localmente, por exemplo, durante a depuração no Visual Studio. No entanto, quando
você implanta em um host da Web, o Django usa o servidor Web do host. O módulo
[Link] no projeto do Django cuida da conexão com os servidores de produção.
Pergunta: Qual é a diferença entre usar os comandos do
menu Depuração e os comandos do servidor no submenu
do Python do projeto?
Resposta: Além dos comandos do menu Depurar e dos botões da barra de ferramentas,
você também pode iniciar o servidor usando os comandos Python>Executar servidor
ou Python>Executar o servidor de depuração no menu de contexto do projeto. Os dois
comandos abrem uma janela de console na qual você vai ver a URL local (localhost:port)
do servidor em execução. No entanto, você deve abrir manualmente um navegador
usando essa URL já que a execução do servidor de depuração não inicia
automaticamente o depurador do Visual Studio. Se desejar, você pode anexar um
depurador ao processo em execução usando o comando Depurar>Anexar ao Processo.
Próximas etapas
Neste ponto, o projeto básico do Django não tem aplicativos. Você vai criar um
aplicativo na próxima etapa. Como você vai trabalhar mais com aplicativos do Django
do que com o projeto do Django, não será necessário saber detalhes dos arquivos
boilerplate por enquanto.
Criar um aplicativo do Django com modos de exibição e modelos de página
Aprofunde-se um pouco mais
Código do projeto do Django: Como gravar seu primeiro aplicativo do Django,
parte 1 ([Link])
Utilitário administrativo: django-admin e [Link] ([Link])
Código-fonte do tutorial no GitHub: Microsoft/python-sample-vs-learning-django
Etapa 2: Criar um aplicativo Django com
exibição e modelos de página
Artigo • 08/09/2023
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
Etapa anterior: Criar uma solução e um projeto do Visual Studio
No projeto do Visual Studio, você só tem os componentes do nível do site de um
projeto do Django agora, que pode executar um ou mais aplicativos de Django. A
próxima etapa é criar seu primeiro aplicativo com uma única página.
Nesta etapa, você aprenderá a:
" Criar um aplicativo do Django com uma única página (etapa 2-1)
" Executar o aplicativo do projeto do Django (etapa 2-2)
" Renderizar um modo de exibição usando HTML (etapa 2-3)
" Renderizar um modo de exibição usando um modelo de página do Django (etapa
2-4)
Etapa 2-1: Criar um aplicativo com uma
estrutura padrão
Um aplicativo do Django é um pacote separado em Python que contém um conjunto de
arquivos relacionados para uma finalidade específica. Um projeto do Django pode
conter muitos aplicativos, que ajudam um host da Web a fornecer muitos pontos de
entrada separados de um único nome de domínio. Por exemplo, um projeto do Django
para um domínio como [Link] pode conter um aplicativo para [Link] ,
um segundo aplicativo para [Link] e um aplicativo de terceiro para
[Link]. Nesse caso, o projeto do Django manipula o roteamento e as
configurações de URL no nível do site (em seus arquivos de [Link] e [Link]). Cada
aplicativo tem seu próprio estilo e comportamento por meio do seu roteamento
interno, exibições, modelos, arquivos estáticos e interface administrativa.
Um aplicativo do Django normalmente começa com um conjunto padrão de arquivos. O
Visual Studio fornece modelos para inicializar um aplicativo do Django dentro de um
projeto do Django, junto com um comando de menu integrado que tem a mesma
finalidade:
Modelos: no Gerenciador de Soluções, clique com botão direito do mouse no
projeto e selecione Adicionar>Novo item. Na caixa de diálogo Adicionar Novo
Item, selecione o modelo Aplicativo do Django 1.9, especifique o nome do
aplicativo no campo Nome e selecione Adicionar.
Integrado comando: no Gerenciador de Soluções, clique com o botão direito no
projeto e selecione Adicionar>Aplicativo do Django. Esse comando solicita um
nome para você. Especifique o nome do aplicativo no campo Novo Nome de
Aplicativo e selecione OK.
Usando qualquer método, crie um aplicativo com o nome "HelloDjangoApp". Agora, a
pasta "HelloDjangoApp" é criada em seu projeto. A pasta contém os seguintes itens:
Item Descrição
migrações Uma pasta na qual o Django armazena scripts que atualizam o banco de dados para
se alinhar com as alterações nos modelos. Em seguida, as ferramentas de migração
do Django aplicam as alterações necessárias a qualquer versão anterior do banco de
dados para corresponder aos modelos atuais. Com as migrações, você mantém o
foco nos seus modelos e permite que o Django lide com o esquema de banco de
dados subjacente. As migrações são discutidas na Documentação do Django . No
momento, a pasta contém um arquivo __init__.py (o que indica que a pasta define
seu próprio pacote do Python).
__init__.py O arquivo que identifica o aplicativo como um pacote.
templates Uma pasta para modelos de página do Django que contém um único arquivo
[Link]. O arquivo [Link] é colocado na pasta com o mesmo nome do
aplicativo. (No Visual Studio 2017 15.7 e versões anteriores, o arquivo é colocado
diretamente em modelos e a etapa 2-4 instrui você a criar a subpasta). Modelos são
blocos de HTML aos quais os modos de exibição podem adicionar informações para
renderizar dinamicamente uma página. "Variáveis" de modelos de página, como {{
content }} em [Link], são espaços reservados para valores dinâmicos, conforme
explicado mais adiante neste artigo (etapa 2). Normalmente, os aplicativos do
Django criam um namespace para seus modelos, colocando-os em uma subpasta
que corresponda ao nome do aplicativo.
[Link] O arquivo Python no qual você estende a interface administrativa do aplicativo, que
é usada para exibir e editar dados em um banco de dados. Inicialmente, esse arquivo
contém apenas a instrução from [Link] import admin . Por padrão, o Django
Item Descrição
inclui uma interface administrativa padrão por meio de entradas no arquivo
[Link] do projeto do Django. Para ativar a interface, você pode remover a marca
de comentário das entradas existentes no arquivo [Link].
[Link] Um arquivo Python que define uma classe de configuração para o aplicativo (veja
abaixo, depois desta tabela).
[Link] Modelos são objetos de dados, identificados por funções, por meio dos quais os
modos de exibição interagem com o banco de dados subjacente do aplicativo. O
Django fornece a camada de conexão de banco de dados para que os aplicativos
não se preocupem com os detalhes dos modelos. O arquivo [Link] é um local
padrão onde você cria seus modelos. Inicialmente, o arquivo [Link] contém
apenas a instrução from [Link] import models .
[Link] Um arquivo Python que contém a estrutura básica de testes de unidade.
[Link] Os modos de exibição são semelhantes às páginas da Web, que recebem uma
solicitação HTTP e retornam uma resposta HTTP. Os modos de exibição costumam
ser renderizados como HTML e os navegadores da Web sabem como exibir, mas um
modo de exibição não precisa necessariamente ser visível (como um formulário
intermediário). Um modo de exibição é definido por uma função Python que tem a
responsabilidade de renderizar o HTML no navegador. O arquivo [Link] é um local
padrão onde você cria suas exibições. Inicialmente, o arquivo [Link] contém
apenas a instrução from [Link] import render .
Quando você usa o nome "HelloDjangoApp", o conteúdo do arquivo [Link] aparece
como:
Python
from [Link] import AppConfig
class HelloDjangoAppConfig(AppConfig):
name = 'HelloDjango'
Pergunta: Há alguma diferença entre criar um aplicativo
do Django no Visual Studio e criar um aplicativo na linha
de comando?
Resposta: A execução do comando Adicionar>Aplicativo do Django ou o uso de
Adicionar>Novo Item com um modelo de aplicativo do Django produz os mesmos
arquivos que o comando do Django [Link] startapp <app_name> . A vantagem de
criar um aplicativo no Visual Studio é que a pasta do aplicativo e todos os seus arquivos
são automaticamente integrados ao projeto. Você pode usar o mesmo comando do
Visual Studio para criar qualquer número de aplicativos em seu projeto.
Etapa 2-2: Executar o aplicativo a partir do
projeto do Django
Neste ponto, se você executar novamente o projeto no Visual Studio (usando o botão
de barra de ferramentas ou Depurar>Iniciar depuração), você ainda verá a página
padrão. Nenhum conteúdo do aplicativo é exibido porque você precisa definir uma
página específica do aplicativo e adicionar o aplicativo ao projeto do Django:
1. Na pasta HelloDjangoApp, modifique o arquivo [Link] para definir uma exibição
chamada "index":
Python
from [Link] import render
from [Link] import HttpResponse
def index(request):
return HttpResponse("Hello, Django!")
2. Na pasta BasicProject (criada na etapa 1), modifique o arquivo [Link] para que ele
corresponda ao seguinte código (você poderá manter o comentário instrutivo se
desejar):
Python
from [Link] import include, re_path
import [Link]
# Django processes URL patterns in the order they appear in the array
urlpatterns = [
re_path(r'^$', [Link], name='index'),
re_path(r'^home$', [Link], name='home')
]
Cada padrão de URL descreve as exibições para as quais o Django encaminha URLs
relativas do site específicas (ou seja, a parte que segue [Link] ).
A primeira entrada em urlPatterns que começa com a expressão regular ^$ é o
roteamento para a raiz do site, "/". A segunda entrada, ^home$ direcionado
especificamente para "/home". É possível ter vários roteamentos para o mesmo
modo de exibição.
3. Execute o projeto novamente para ver a mensagem Olá, Django!, conforme
definido pelo modo de exibição. Pare o servidor ao terminar.
Confirmar o controle do código-fonte
Depois de fazer alterações no código e testar com êxito, você pode examinar e
confirmar o controle do código-fonte. Em etapas posteriores, quando este tutorial
lembrar você de fazer commit com o controle do código-fonte novamente, consulte
esta seção.
1. Selecione o botão de alterações na parte inferior do Visual Studio (circulado
abaixo), que encaminha para o Team Explorer.
2. No Team Explorer, digite uma mensagem de confirmação, como "Criar aplicativo
inicial do Django" e selecione Confirmar Tudo. Quando a confirmação for
concluída, você verá uma mensagem Commit <hash> criada localmente.
Sincronize para compartilhar suas alterações com o servidor. Se você quiser
enviar alterações por push para o repositório remoto, selecione Sincronizar e, em
seguida, selecione efetuar push em Commits de saída. Também é possível
acumular várias confirmações locais antes de enviar para o repositório remoto.
Pergunta: Para que serve o prefixo 'r' antes das cadeias
de caracteres de roteamento?
Resposta: O prefixo "r" em uma cadeia de caracteres em Python significa "raw", que
instrui o Python a não escapar de nenhum caractere dentro da cadeia. As expressões
regulares usam muitos caracteres especiais. O uso do prefixo "r" torna as cadeias de
caracteres muito mais fáceis de serem lidas do que os caracteres de escape "\".
Pergunta: O que significam os caracteres ^ e $ nas
entradas de roteamento de URL?
Resposta: Nas expressões regulares que definem padrões de URL, ^ significa "início de
linha" e $ significa "fim de linha", em que as URLs são relativas à raiz do site (a parte que
segue [Link] ). A expressão regular ^$ efetivamente significa "em
branco" e corresponde à URL completa [Link] (nada é adicionado à
raiz do site). O padrão ^home$ corresponde exatamente a
[Link] . (O Django não usa o / à direita na correspondência de
padrões).
Se você não usar um $ à direita em uma expressão regular, assim como em ^home , o
padrão de URL corresponderá a qualquer URL que comece com "home", como "home",
"homework", "homestead" e "home192837".
Para fazer experiências com expressões regulares diferentes, use ferramentas online,
como [Link] em [Link] .
Etapa 2-3: Renderizar um modo de exibição
usando HTML
A função index que você tem no arquivo [Link] não gera uma resposta HTTP de texto
sem formatação para a página. A maioria das páginas da Web reais respondem com
páginas HTML avançadas que incorporam dados dinâmicos com frequência. Na
verdade, a principal razão para definir uma exibição usando uma função é gerar esse
conteúdo dinamicamente.
Como o argumento para HttpResponse é apenas uma cadeia de caracteres, você pode
criar qualquer HTML que quiser em uma cadeia de caracteres. Como um exemplo
simples, substitua a função index pelo código a seguir (mantenha as instruções
existentes from ). Em seguida, a função index gerará uma resposta HTML usando
conteúdo dinâmico que é atualizado sempre que você atualizar a página.
Python
from datetime import datetime
def index(request):
now = [Link]()
html_content = "<html><head><title>Hello, Django</title></head><body>"
html_content += "<strong>Hello Django!</strong> on " + [Link]("%A,
%d %B, %Y at %X")
html_content += "</body></html>"
return HttpResponse(html_content)
Agora, execute o projeto novamente para ver uma mensagem como "Olá, Django! na
segunda-feira, 16 de abril de 2018 às [Link]". Atualize a página para atualizar a hora e
confirme que o conteúdo está sendo gerado com cada solicitação. Pare o servidor ao
terminar.
Dica
Um atalho para parar e reiniciar o projeto é usar o comando de menu
Depurar>Reiniciar (Ctrl+Shift+F5) ou o botão Reiniciar na barra de ferramentas de
depuração:
Etapa 2-4: Renderizar um modo de exibição
usando um modelo de página
A geração de HTML em código funciona bem para páginas pequenas. No entanto, à
medida que as páginas ficam mais sofisticadas, você precisa manter as partes HTML
estáticas da sua página (juntamente com referências a arquivos CSS e JavaScript) como
"modelos de página". Em seguida, você pode inserir o conteúdo dinâmico gerado por
código nos modelos de página. Na seção anterior, apenas a data e a hora da chamada
[Link] são dinâmicas, o que significa que todos os outros conteúdos podem ser
colocados em um modelo de página.
Um modelo de página do Django é um bloco de HTML que contém vários tokens de
substituição chamados "variáveis". As variáveis são delineadas por {{ e }} , por
exemplo, {{ content }} . O módulo de modelo do Django substitui as variáveis por
conteúdo dinâmico que você fornece no código.
As etapas a seguir demonstram o uso de modelos de página:
1. Na pasta BasicProject, que contém o projeto do Django, abra o arquivo [Link].
Adicione o nome do aplicativo, "HelloDjangoApp", à lista INSTALLED_APPS . A adição
do aplicativo à lista informa ao projeto do Django que há uma pasta com o nome
"HelloDjangoApp" contendo um aplicativo:
Python
INSTALLED_APPS = [
'HelloDjangoApp',
# Other entries...
]
2. No arquivo [Link], verifique se o objeto TEMPLATES contém a linha a seguir
(incluída por padrão). O código a seguir instrui o Django a procurar modelos na
pasta de modelos de um aplicativo instalado:
JSON
'APP_DIRS': True,
3. Na pasta HelloDjangoApp, abra o arquivo de modelo de página
templates/HelloDjangoApp/[Link] (ou templates/[Link] no VS 2017 15.7 e
anteriores), para observar que ele contém uma variável, a {{ content }} :
HTML
<html>
<head>
<title></title>
</head>
<body>
{{ content }}
</body>
</html>
4. Na pasta HelloDjangoApp, abra o arquivo [Link] e substitua a função index pelo
código a seguir, que usa a função auxiliar [Link] . O auxiliar
render fornece uma interface simplificada para trabalhar com modelos de página.
Mantenha todas as instruções from existentes.
Python
from [Link] import render # Added for this step
def index(request):
now = [Link]()
return render(
request,
"HelloDjangoApp/[Link]", # Relative path from the
'templates' folder to the template file
# "[Link]", # Use this code for VS 2017 15.7 and earlier
{
'content': "<strong>Hello Django!</strong> on " +
[Link]("%A, %d %B, %Y at %X")
}
)
O primeiro argumento para render é o objeto de solicitação, seguido do caminho
relativo para o arquivo de modelo dentro da pasta templates do aplicativo. Um
arquivo de modelo recebe o nome do modo de exibição ao qual ele oferece
suporte, se apropriado. O terceiro argumento para render é um dicionário de
variáveis ao qual o modelo se refere. Você pode incluir objetos no dicionário e,
nesse caso, uma variável no modelo pode se referir a {{ [Link] }} .
5. Execute o projeto e observe o resultado. Você deve ver uma mensagem
semelhante àquela vista na etapa 2-2, indicando que o modelo funciona.
Observe que o HTML usado na propriedade content é processado apenas como
texto simples, porque a função render escapa automaticamente o HTML. O escape
automático impede vulnerabilidades acidentais a ataques de injeção. Os
desenvolvedores geralmente coletam entradas de uma página e a usam como um
valor em outra por meio de um espaço reservado de modelo. O escape também
funciona como um lembrete de que é melhor manter o HTML no modelo da
página e fora do código. Além disso, é simples criar mais variáveis quando
necessário. Por exemplo, altere o arquivo [Link] com modelos para
corresponder à marcação a seguir. A marcação a seguir adiciona um título de
página e mantém toda a formatação no modelo de página:
HTML
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
<strong>{{ message }}</strong>{{ content }}
</body>
</html>
Depois, para fornecer valores para todas as variáveis no modelo de página, escreva
a função do modo de exibição index conforme especificado a seguir:
Python
def index(request):
now = [Link]()
return render(
request,
"HelloDjangoApp/[Link]", # Relative path from the
'templates' folder to the template file
# "[Link]", # Use this code for VS 2017 15.7 and earlier
{
'title' : "Hello Django",
'message' : "Hello Django!",
'content' : " on " + [Link]("%A, %d %B, %Y at %X")
}
)
6. Interrompa o servidor e reinicie o projeto. Verifique se a página é renderizada
corretamente:
7. Visual Studio 2017 versão 15.7 e anteriores: como etapa final, mova seus modelos
para uma subpasta com o mesmo nome do aplicativo. A subpasta cria um
namespace e evita possíveis conflitos com outros aplicativos que você pode
adicionar ao projeto. (Os modelos no VS 2017 15.8+ fazem isso automaticamente.)
Ou seja, crie uma subpasta em templates chamada HelloDjangoApp, mova o
arquivo [Link] para essa subpasta e modifique a função de exibição index . A
função de exibição index fará referência ao novo caminho do modelo,
HelloDjangoApp/[Link]. Em seguida, execute o projeto, verifique se a página é
renderizada corretamente e pare o servidor.
8. Confirme suas alterações no controle do código-fonte e atualize seu repositório
remoto, se necessário, conforme descrito em etapa 2-2.
Pergunta: Os modelos de página precisam ficar em um
arquivo separado?
Resposta: normalmente, os modelos são mantidos em arquivos HTML separados. Você
também pode usar um modelo embutido. Para manter uma distinção clara entre
marcação e código, é recomendável usar um arquivo separado.
Pergunta: Os modelos precisam usar a extensão de
arquivo .html?
Resposta: A extensão .html para arquivos de modelo de página é totalmente opcional,
porque você sempre identifica o caminho relativo exato para o arquivo no segundo
argumento para a função render . No entanto, o Visual Studio (e outros editores)
fornece funcionalidades como preenchimento de código e coloração de sintaxe com
arquivos .html, o que supera o fato de os modelos de página não serem estritamente
HTML.
De fato, quando você está trabalhando com um projeto do Django, o Visual Studio
detecta automaticamente o arquivo HTML que possui um modelo do Django e fornece
determinados recursos de preenchimento automático. Por exemplo, quando você
começa a digitar um comentário de modelo de página do Django, {# , o Visual Studio
fornece automaticamente os caracteres de fechamento #} . Os comandos Comentar
Seleção e Remover Marca de Comentário da Seleção (no menu Editar>Avançado e na
barra de ferramentas) também usam comentários de modelo em vez de comentários
em HTML.
Pergunta: Quando executo o projeto, é exibido um erro
indicando que não é possível encontrar o modelo. Qual é
o problema?
Resposta: Se forem exibidos erros indicando que o modelo não pode ser encontrado,
verifique se você adicionou o aplicativo a [Link] do projeto do Django na lista
INSTALLED_APPS . Sem essa entrada, o Django não saberá o que procurar na pasta
templates do aplicativo.
Pergunta: Por que o namespace do modelo é importante?
Resposta: Quando o Django procura por um modelo referido na função render , ele usa
o primeiro arquivo encontrado que corresponda ao caminho relativo. Se você tiver
vários aplicativos do Django no mesmo projeto com as mesmas estruturas de pasta
para os modelos, é provável que um aplicativo use inadvertidamente um modelo de
outro aplicativo. Para evitar esses erros, sempre crie uma subpasta na pasta templates
do aplicativo que corresponda ao nome do aplicativo para evitar qualquer duplicação.
Próximas etapas
Fornecer arquivos estáticos, adicionar páginas e usar a herança do modelo
Aprofunde-se um pouco mais
Como gravar seu primeiro aplicativo do Django, parte 1 – (modos de exibição)
([Link])
Para conhecer mais recursos de modelos do Django, como os elementos inclui e
herança, confira A linguagem de modelos do Django ([Link])
Treinamento em expressões regulares no inLearning (LinkedIn)
Código-fonte do tutorial no GitHub: Microsoft/python-sample-vs-learning-django
Etapa 3: Fornecer arquivos estáticos,
adicionar páginas e usar a herança do
modelo com o aplicativo Django
Artigo • 18/03/2023
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
Etapa anterior: Criar um aplicativo do Django com modos de exibição e modelos de
página
Nas etapas anteriores deste tutorial, você aprendeu como criar um aplicativo mínimo
em Django com uma única página HTML. Os aplicativos Web modernos, no entanto,
contêm muitas páginas. As páginas dos aplicativos web modernos usam recursos
compartilhados, como arquivos CSS e JavaScript, para fornecer comportamento e estilo
consistentes.
Nesta etapa, você aprenderá a:
" Usar modelos de item do Visual Studio para adicionar rapidamente novos arquivos
de diferentes tipos com código clichê conveniente (etapa 3-1)
" Configurar o projeto em Django para fornecer arquivos estáticos (etapa 3-2)
" Adicionar mais páginas ao aplicativo (etapa 3-3)
" Usar a herança do modelo para criar um cabeçalho e uma barra de navegação
usados nas páginas (etapa 3-4)
Etapa 3-1: Familiarizar-se com os modelos de
item
À medida que você desenvolve um aplicativo Django, normalmente adiciona vários
outros arquivos Python, HTML, CSS e JavaScript. Para cada tipo de arquivo (arquivos
como [Link], que podem ser necessários para a implantação), o Visual Studio
fornece modelos de itens convenientes para você começar.
Para exibir os modelos disponíveis, vá para Gerenciador de Soluções, clique com o
botão direito do mouse na pasta em que você deseja criar o item e, depois, selecione
Adicionar>Novo Item.
Para usar um modelo, selecione o modelo desejado, especifique um nome para o
arquivo e selecione Adicionar. A adição de um item dessa maneira adiciona
automaticamente o arquivo ao projeto do Visual Studio e marca as alterações para
controle do código-fonte.
Pergunta: Como o Visual Studio sabe quais modelos de
item oferecer?
Resposta: O arquivo de projeto do Visual Studio (.pyproj) contém um identificador de
tipo de projeto que o marca como um projeto do Python. O Visual Studio usa esse
identificador de tipo para mostrar apenas os modelos de item que são adequados para
o tipo de projeto. Dessa forma, o Visual Studio pode fornecer um conjunto avançado de
modelos de item para muitos tipos de projeto sem solicitar que você os classifique toda
vez.
Etapa 3-2: Fornecer arquivos estáticos do seu
aplicativo
Em um aplicativo Web criado com Python (usando qualquer estrutura), seus arquivos
em Python sempre são executados no servidor do host da Web. Os arquivos do Python
também nunca são transmitidos para o computador de um usuário. Outros arquivos, no
entanto, como CSS e JavaScript, são usados exclusivamente pelo navegador. Portanto, o
servidor host simplesmente os entrega como estão sempre que são solicitados. Esses
arquivos são chamados de "estáticos", e o Django pode fornecê-los automaticamente
sem que você precise escrever algum código.
Um projeto Django é configurado por padrão para fornecer arquivos estáticos da pasta
static do aplicativo, graças a estas linhas no arquivo [Link] do projeto Django:
Python
# Static files (CSS, JavaScript, Images)
# [Link]
STATIC_URL = '/static/'
STATIC_ROOT = [Link](*(BASE_DIR.split([Link]) + ['static']))
Você pode organizar os arquivos dentro de static usando qualquer estrutura de pastas
desejada e, em seguida, usar caminhos relativos dentro dessa pasta para referenciar os
arquivos. Para demonstrar o processo, as seguintes etapas adicionam um arquivo CSS
ao aplicativo e, em seguida, usam essa folha de estilos no modelo [Link]:
1. No Gerenciador de Soluções, clique com o botão direito do mouse na pasta
HelloDjangoApp do projeto do Visual Studio, selecione Adicionar>Nova pasta e
nomeie a pasta static .
2. Clique com o botão direito do mouse na pasta static e selecione Adicionar>Novo
item. Na caixa de diálogo exibida, selecione o modelo Folha de estilos, nomeie o
arquivo [Link] e selecione Adicionar.
O arquivo [Link] é exibido no projeto e aberto no editor. A estrutura de pastas
deve ser semelhante à imagem abaixo:
3. Substitua o conteúdo do arquivo [Link] pelo seguinte código e salve o arquivo:
css
.message {
font-weight: 600;
color: blue;
}
4. Substitua o conteúdo do arquivo templates/HelloDjangoApp/[Link] do
aplicativo pelo código a seguir. O código substitui o elemento <strong> usado na
etapa 2 por um <span> que faz referência à classe de estilo message . O uso de uma
classe de estilo oferece mais flexibilidade ao estilo do elemento. (Se você ainda
não moveu o [Link] para uma subpasta nos modelos ao usar o VS 2017 15.7 e
anteriores, veja Namespacing de modelo na etapa 2-4.)
HTML
<html>
<head>
<title>{{ title }}</title>
{% load static %} <!-- Instruct Django to load static files -->
<link rel="stylesheet" type="text/css" href="{% static
'[Link]' %}" />
</head>
<body>
<span class="message">{{ message }}</span>{{ content }}
</body>
</html>
5. Execute o projeto para observar os resultados. Quando estiver pronto, pare o
servidor e confirme as alterações no controle do código-fonte se desejar
(conforme explicado na etapa 2).
Pergunta: Qual é a finalidade da marcação {% load static
%}?
Resposta: A linha {% load static %} é necessária antes da referência a arquivos
estáticos em elementos como <head> e <body> . No exemplo mostrado nesta seção,
"static files" se refere a um conjunto de marcações de modelo do Django personalizado,
o que permite o uso da sintaxe {% static %} para se referir a arquivos estáticos. Sem {%
load static %} , você verá uma exceção quando o aplicativo for executado.
Pergunta: Há convenções para organizar arquivos
estáticos?
Resposta: Você pode adicionar outros arquivos CSS, JavaScript e HTML à sua pasta static
como você quiser. Uma maneira comum de organizar arquivos estáticos é criar
subpastas chamadas fonts, scripts e content (para folhas de estilo e outros arquivos). Em
cada caso, lembre-se de incluir essas pastas no caminho relativo do arquivo nas
referências {% static %} .
Pergunta: Posso concluir a mesma tarefa sem usar a
marca {% load static %}?
Resposta: Sim, você pode.
HTML
<html>
<head>
<title>{{ title }}</title>
<link rel="stylesheet" type="text/css" href="../../static/[Link]"
/>
</head>
<body>
<span class="message">{{ message }}</span>{{ content }}
</body>
</html>
Etapa 3-3: Adicionar uma página ao aplicativo
A adição de outra página ao aplicativo fará com que:
Adicione uma função em Python que defina o modo de exibição.
Adicione um modelo para a marcação da página.
Adicione o roteamento necessário ao arquivo [Link] do projeto do Django.
As etapas a seguir adicionam uma página "Sobre" ao projeto "HelloDjangoApp" e links
para essa página na página inicial:
1. No Gerenciador de Soluções, clique com o botão direito do mouse na pasta
templates/HelloDjangoApp. Selecione Adicionar>Novo item e selecione o
modelo de item de página HTML. Nomeie o arquivo [Link] e selecione
Adicionar.
Dica
Se o comando Novo Item não aparecer no menu Adicionar, verifique se você
interrompeu o servidor para que o Visual Studio saia do modo de depuração.
2. Substitua o conteúdo de [Link] pela marcação abaixo (substitua o link
explícito para a página inicial por uma barra de navegação simples na etapa 3-4):
HTML
<html>
<head>
<title>{{ title }}</title>
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static
'[Link]' %}" />
</head>
<body>
<div><a href="home">Home</a></div>
{{ content }}
</body>
</html>
3. Abra o arquivo [Link] do aplicativo e adicione uma função chamada about que
usa o modelo:
Python
def about(request):
return render(
request,
"HelloDjangoApp/[Link]",
{
'title' : "About HelloDjangoApp",
'content' : "Example app page for Django."
}
)
4. Abra o arquivo [Link] do projeto do Django e adicione a seguinte linha à matriz
urlPatterns :
Python
re_path(r'^about$', [Link], name='about'),
5. Abra o arquivo templates/HelloDjangoApp/[Link] e adicione a seguinte linha
abaixo do elemento <body> para criar um link para a página About (substitua
novamente esse link por uma barra de navegação na etapa 3-4):
HTML
<div><a href="about">About</a></div>
6. Salve todos os arquivos usando o comando de menu Arquivo>Salvar Tudo ou
apenas pressione Ctrl+Shift+S. (Tecnicamente, essa etapa não é necessária, pois a
execução do projeto no Visual Studio salva os arquivos automaticamente. No
entanto, é um bom comando para se saber!)
7. Execute o projeto para observar os resultados e verificar a navegação entre as
páginas. Quando terminar, feche o navegador.
Pergunta: Tentei usar "index" no link para a página inicial,
mas não funcionou. Por quê?
Resposta: Embora a função de exibição no arquivo [Link] seja nomeada index , os
padrões de roteamento de URL no arquivo [Link] do projeto do Django não contêm
uma expressão regular que corresponda à cadeia de caracteres "index". Para fazer a
correspondência com a cadeia de caracteres, você precisa adicionar outra entrada para
o padrão ^index$ .
Como mostrado na próxima seção, é melhor usar a marcação {% url '<pattern_name>'
%} no modelo de página para se referir ao nome de um padrão. Nesse caso, o Django
cria a URL adequada para você. Por exemplo, substitua <div><a href="home">Home</a>
</div> em [Link] por <div><a href="{% url 'index' %}">Home</a></div> . O uso de
'index' funciona aqui porque o primeiro padrão de URL em [Link] é, na verdade,
chamado de 'index' (em virtude do argumento name='index' ). Você também pode usar
"home" para se referir ao segundo padrão.
Etapa 3-4: Usar a herança do modelo para criar
um cabeçalho e uma barra de navegação
Em vez de ter links de navegação explícitos em cada página, os aplicativos Web
modernos usam um cabeçalho de identidade visual e uma barra de navegação. Uma
barra de navegação fornece os links de página mais importantes, menus pop-up e assim
por diante. Para garantir que o cabeçalho e a barra de navegação sejam os mesmos em
todas as páginas, não repita o mesmo código em todos os modelos de página. Em vez
disso, defina as partes comuns de todas as páginas em um único local.
O sistema de modelos do Django fornece dois meios para reutilização de elementos
específicos em vários modelos: includes e inheritance.
Includes corresponde a outros modelos de página que você insere em um local
específico no modelo de referência usando a sintaxe {% include <template_path>
%} . Se você quiser alterar o caminho dinamicamente no código, você pode
também pode usar uma variável. Includes são usados no corpo de uma página
para extrair o modelo compartilhado em um local específico na página.
Inheritance usa o {% extends <template_path> %} no início de um modelo de
página para especificar um modelo de base compartilhado no qual o modelo de
referência se baseará. O elemento Inheritance costuma ser usado para definir um
layout compartilhado, uma barra de navegação e outras estruturas para as páginas
de um aplicativo, de modo que os modelos de referência possam apenas adicionar
ou modificar áreas específicas do modelo de base chamadas blocks.
Em ambos os casos, <template_path> é relativo à pasta templates do aplicativo ( ../ ou
./ também é permitido).
Um modelo de base delineia blocos usando as marcas {% block <block_name> %} e {%
endblock %} . Se um modelo de referência usar marcações com o mesmo nome de
bloco, o conteúdo do bloco substituirá o do modelo de base.
As etapas a seguir demonstram a herança:
1. Na pasta templates/HelloDjangoApp do aplicativo, crie um novo arquivo HTML.
Clique com o botão direito do mouse na pasta templates/HelloDjangoApp,
selecione Adicionar>Novo item e, em seguida, selecione o modelo de item
página HTML. Nomeie o arquivo [Link] e selecione Adicionar.
2. Substitua o conteúdo do arquivo [Link] pela marcação abaixo. Veja que esse
modelo contém um bloco chamado "conteúdo", que representa tudo o que as
páginas de referência precisam substituir:
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>{{ title }}</title>
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static '[Link]'
%}" />
</head>
<body>
<div class="navbar">
<a href="/" class="navbar-brand">Hello Django</a>
<a href="{% url 'home' %}" class="navbar-item">Home</a>
<a href="{% url 'about' %}" class="navbar-item">About</a>
</div>
<div class="body-content">
{% block content %}{% endblock %}
<hr/>
<footer>
<p>© 2018</p>
</footer>
</div>
</body>
</html>
3. Adicione os seguintes estilos ao arquivo static/[Link] do aplicativo (este passo a
passo não está tentando demonstrar o design responsivo; esses estilos servem
apenas para gerar um resultado interessante):
css
.navbar {
background-color: lightslategray;
font-size: 1em;
font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida
Grande', 'Lucida Sans', Arial, sans-serif;
color: white;
padding: 8px 5px 8px 5px;
}
.navbar a {
text-decoration: none;
color: inherit;
}
.navbar-brand {
font-size: 1.2em;
font-weight: 600;
}
.navbar-item {
font-variant: small-caps;
margin-left: 30px;
}
.body-content {
padding: 5px;
font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
4. Modifique o arquivo templates/HelloDjangoApp/[Link] para se referir ao
modelo base e torná-lo utilizável na página. Adicione a seguinte linha como linha
1 na página HTML (acima da marca html):
HTML
{% extends "HelloDjangoApp/[Link]" %}
5. Você pode ver que, usando a herança, esse modelo se torna simples de
implementar dentro da marca body para substituir o bloco de conteúdo:
HTML
{% block content %}
<span class="message">{{ message }}</span>{{ content }}
{% endblock %}
6. Modifique o arquivo templates/HelloDjangoApp/[Link] da mesma maneira
para disponibilizar o modelo de layout. Adicione a mesma linha da etapa 1 na
página HTML (acima da marca html):
HTML
{% extends "HelloDjangoApp/[Link]" %}
7. Em seguida, usando herança, implemente o modelo dentro da marca body para
substituir o bloco de conteúdo:
HTML
{% block content %}
{{ content }}
{% endblock %}
8. Execute o servidor para observar os resultados. Quando terminar, feche o
navegador.
9. Como você fez alterações significativas no aplicativo, é novamente um bom
momento para confirmar suas alterações no controle do código-fonte.
Próximas etapas
Usar o modelo Projeto Web Django completo
Aprofunde-se um pouco mais
Como gravar seu primeiro aplicativo do Django, parte 3 (modos de exibição)
([Link])
Para conhecer mais recursos de modelos do Django, como o fluxo de controle,
confira A linguagem de modelos do Django ([Link])
Para obter detalhes completos sobre como usar a marcação {% url %} , confira
url dentro de Referência de marcações de modelo internas e filtros para
modelos do Django ([Link])
Código-fonte do tutorial no GitHub: Microsoft/python-sample-vs-learning-
django
Etapa 4: Usar o modelo Projeto Web do
Django completo
Artigo • 16/03/2023
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
Etapa anterior: Fornecer arquivos estáticos, adicionar páginas e usar a herança do
modelo
Agora que explorou as noções básicas do Django no Visual Studio, você compreende
facilmente o aplicativo mais completo produzido pelo modelo "Projeto Web do
Django".
Nesta etapa, você:
" Criar um aplicativo Web do Django mais completo usando o modelo "Projeto Web
do Django" e examinar a estrutura do projeto (etapa 4-1)
" Entender os modos de exibição e os modelos de página criados pelo modelo de
projeto, que consistem em três páginas que são herdadas a partir de um modelo de
página de base e que emprega bibliotecas JavaScript estáticas como jQuery e
Bootstrap (etapa 4-2)
" Entender o roteamento de URL fornecido pelo modelo (etapa 4-3)
O modelo também fornece a autenticação básica, que é abordada na Etapa 5.
Etapa 4-1: Criar um projeto com base no
modelo
1. No Visual Studio, acesse o Gerenciador de Soluções, clique com o botão direito
do mouse na solução LearningDjango criada anteriormente neste tutorial. Em
seguida, selecione Adicionar>Novo Projeto. (Se você quiser usar uma nova
solução, selecione Arquivo>Novo>Projeto).
2. Na caixa de diálogo Novo Projeto, pesquise e selecione o modelo Projeto Web do
Django. Chame o projeto de "DjangoWeb" e selecione Criar.
3. Como o modelo inclui um arquivo [Link], o Visual Studio solicita o local
onde instalar as dependências. Quando solicitado, escolha a opção Instalar em um
ambiente virtual e na caixa de diálogo Adicionar Ambiente Virtual selecione Criar
para aceitar os padrões.
4. Quando o Visual Studio concluir a configuração do ambiente virtual, siga as
instruções exibidas no arquivo [Link] para criar um superusuário do Django
(ou seja, um administrador). Clique com o botão direito do mouse no projeto do
Visual Studio e selecione o comando Python>Criar Superusuário do Django e, em
seguida, siga os prompts. Registre seu nome de usuário e a senha que você usa ao
exercitar os recursos de autenticação do aplicativo.
5. Defina o projeto DjangoWeb como o padrão para a solução do Visual Studio
clicando com o botão direito do mouse no projeto em Gerenciador de Soluções e
selecionando Definir como Projeto de Inicialização. O projeto de inicialização,
mostrado em negrito, é executado quando você inicia o depurador.
6. Selecione Depurar>Iniciar Depuração (F5) ou use o botão Servidor Web na barra
de ferramentas para executar o servidor.
7. O aplicativo criado pelo modelo tem três páginas, Página Inicial, Sobre e Contato.
Você pode navegar entre as páginas usando a barra de navegação. Levar um
minuto ou dois para examinar as diferentes partes do aplicativo. Para autenticar
com o aplicativo por meio do comando Login, use as credenciais de superusuário
criadas anteriormente.
8. O aplicativo criado pelo modelo "Projeto Web do Django" usa Bootstrap para
layout responsivo que acomoda fatores forma móveis. Para ver essa capacidade de
resposta, redimensione o navegador para uma exibição estreita para que o
conteúdo seja renderizado verticalmente e a barra de navegação se transforme em
um ícone de menu.
9. Você pode deixar o aplicativo em execução para as seções a seguir.
Caso deseje interromper o aplicativo e confirmar as alterações no controle do
código-fonte, abra a página Alterações no Team Explorer, clique com o botão
direito do mouse na pasta do ambiente virtual (provavelmente env) e selecione
Ignorar estes itens locais.
Examine o que o modelo cria
No nível mais amplo, o modelo "Projeto Web do Django" cria a seguinte estrutura:
Arquivos na raiz do projeto:
[Link]: o utilitário administrativo do Django.
db.sqlite3: um banco de dados SQLite padrão.
[Link]: contém uma dependência do Django 1.x.
[Link]: um arquivo exibido no Visual Studio após a criação do projeto.
Conforme observado na seção anterior, siga as instruções aqui para criar uma
conta de superusuário (administrador) para o aplicativo.
A pasta app contém todos os arquivos do aplicativo, incluindo exibições, modelos,
testes, formulários, modelos e arquivos estáticos (veja a etapa 4-2). Normalmente,
você renomeia esta pasta para usar um nome de aplicativo mais diferenciado.
A pasta DjangoWeb (projeto do Django) contém os arquivos de projeto típicos do
Django: __init__.py, [Link], [Link] e [Link]. O arquivo [Link] já está
configurado para o aplicativo e o arquivo de banco de dados usando o modelo de
projeto. O arquivo [Link] também já está configurado com as rotas para todas as
páginas do aplicativo, incluindo o formulário de entrada.
Pergunta: É possível compartilhar um ambiente virtual
entre projetos do Visual Studio?
Resposta: Sim, no entanto, faça isso com a consciência de que projetos diferentes
provavelmente usam pacotes diferentes ao longo do tempo. Portanto, um ambiente
virtual compartilhado precisa conter todos os pacotes para todos os projetos que o
usam.
No entanto, para usar um ambiente virtual existente, siga estas etapas:
1. Quando for solicitado a instalar dependências no Visual Studio, selecione a opção
Eu os instalarei por conta própria opção.
2. No Gerenciador de Soluções, clique com o botão direito do mouse no nó
Ambientes do Python e escolha Adicionar Ambiente Virtual Existente.
3. Navegue até e selecione a pasta que contém o ambiente virtual e selecione OK.
Etapa 4-2: Entender os modos de exibição e os
modelos de página criados pelo modelo de
projeto
Quando você executa o projeto, observe que o aplicativo contém três modos de
exibição: Página inicial, Sobre e Contato. O código dessas exibições é encontrado no
arquivo [Link]. Cada função de exibição chama [Link] com o
caminho para um modelo e um objeto de dicionário simples. Por exemplo, a página
Sobre é tratada pela função about :
Python
def about(request):
"""Renders the about page."""
assert isinstance(request, HttpRequest)
return render(
request,
'app/[Link]',
{
'title':'About',
'message':'Your application description page.',
'year':[Link]().year,
}
)
Os modelos estão localizados na pasta templates/app do aplicativo (e, normalmente,
você deseja renomear app como o nome do aplicativo real). O modelo base, [Link],
é o mais abrangente. O arquivo [Link] se refere a todos os arquivos estáticos
necessários (JavaScript e CSS). O arquivo [Link] também define um bloco chamado
"content" que outras páginas substituem e fornece outro bloco chamado "scripts". Os
seguintes trechos anotados do arquivo [Link] mostram estas áreas específicas:
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<!-- Define a viewport for Bootstrap's responsive rendering -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ title }} - My Django Application</title>
{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static
'app/content/[Link]' %}" />
<link rel="stylesheet" type="text/css" href="{% static
'app/content/[Link]' %}" />
<script src="{% static 'app/scripts/[Link]' %}"></script>
</head>
<body>
<!-- Navbar omitted -->
<div class="container body-content">
<!-- "content" block that pages are expected to override -->
{% block content %}{% endblock %}
<hr/>
<footer>
<p>© {{ year }} - My Django Application</p>
</footer>
</div>
<!-- Additional scripts; use the "scripts" block to add page-specific
scripts. -->
<script src="{% static 'app/scripts/[Link]' %}"></script>
<script src="{% static 'app/scripts/[Link]' %}"></script>
<script src="{% static 'app/scripts/[Link]' %}"></script>
{% block scripts %}{% endblock %}
</body>
</html>
Cada um dos modelos de página individual, [Link], [Link] e [Link],
estende o modelo base [Link]. O arquivo de modelo [Link] é o mais simples e
mostra as marcas {% extends %} e {% block content %} :
HTML
{% extends "app/[Link]" %}
{% block content %}
<h2>{{ title }}.</h2>
<h3>{{ message }}</h3>
<p>Use this area to provide additional information.</p>
{% endblock %}
Os arquivos de modelo [Link] e [Link] usam a mesma estrutura e fornecem
mais conteúdo no bloco "conteúdo".
Na pasta templates/app, também se encontra uma quarta página [Link], junto com
[Link], que é inserida em [Link] com {% include %} . Esses arquivos de
modelo são discutidos na etapa 5 na autenticação.
Pergunta: {% block %} e {% endblock %} podem ser
recuados no modelo de página do Django?
Resposta: Sim. Os modelos de página do Django funcionam bem se você recua as
marcas de bloco, talvez para alinhá-las nos elementos pai apropriados. Para exibir
claramente onde as marcas de bloco são colocadas, os modelos de página do Visual
Studio não recuam as marcas de bloco.
Etapa 4-3: Entender o roteamento de URL
criado pelo modelo
O arquivo [Link] do projeto do Django criado pelo modelo "Projeto Web do Django"
contém o seguinte código:
Python
from datetime import datetime
from [Link] import path
from [Link] import admin
from [Link] import LoginView, LogoutView
from app import forms, views
urlpatterns = [
path('', [Link], name='home'),
path('contact/', [Link], name='contact'),
path('about/', [Link], name='about'),
path('login/',
LoginView.as_view
(
template_name='app/[Link]',
authentication_form=[Link],
extra_context=
{
'title': 'Log in',
'year' : [Link]().year,
}
),
name='login'),
path('logout/', LogoutView.as_view(next_page='/'), name='logout'),
path('admin/', [Link]),
]
Os três primeiros padrões de URL são mapeados diretamente para as exibições home ,
contact e about no arquivo [Link] do aplicativo. Os padrões ^login/$ e ^logout$ ,
por outro lado, usam modos de exibição internos do Django em vez de exibições
definidas pelo aplicativo. As chamadas para o método url também incluem dados
adicionais para personalizar o modo de exibição. A Etapa 5 explora essas chamadas.
Pergunta: No projeto que criei, por que o padrão de URL
"about" usa '^about' em vez de '^about$', como
mostrado aqui?
Resposta: A falta do '$' à direita na expressão regular foi um erro simples em várias
versões do modelo do projeto. O padrão de URL funciona perfeitamente para uma
página chamada "sobre". No entanto, sem o '$' à direita, o padrão de URL também
corresponde a URLs como "about=django," "about09876," "aboutoflaughter," e assim
por diante. O '$' à direita é mostrado aqui para criar um padrão de URL que
corresponde somente a "about".
Próximas etapas
Autenticar usuários no Django
Aprofunde-se um pouco mais
Como gravar seu primeiro aplicativo do Django, parte 4 – Modos de exibição
genéricos e formulários ([Link])
Código-fonte do tutorial no GitHub: Microsoft/python-sample-vs-learning-
django
Etapa 5: Autenticar usuários no Django
Artigo • 10/04/2023
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
Etapa anterior: Usar o modelo Projeto Web completo do Django
O modelo "Projeto Web do Django" inclui um fluxo de autenticação básico, já que a
autenticação é uma necessidade comum para aplicativo Web. Ao usar um dos modelos
de projeto do Django, o Visual Studio inclui todos os módulos necessários para a
autenticação no arquivo [Link] do projeto do Django.
Nesta etapa, você aprenderá:
" Como usar o fluxo de autenticação fornecido em modelos do Visual Studio (etapa 5
– 1)
Etapa 5-1: Usar o fluxo de autenticação
As etapas a seguir acionam o fluxo de autenticação e descrevem as partes do projeto:
1. Se você ainda não seguiu as instruções do arquivo [Link] na raiz do projeto
para criar uma conta de superusuário (administrador), faça isso agora.
2. Execute o aplicativo no Visual Studio usando Depurar>Iniciar Depuração (F5).
Quando o aplicativo aparecer no navegador, observe que a opção Login aparecerá
no canto superior direito da barra de navegação.
3. Abra templates/app/[Link] e observe que o elemento <div class="navbar
...> contém a marcação {% include app/[Link] %} . A marca {%
include %} instrui o sistema de modelos do Django a efetuar pull do conteúdo do
arquivo incluído neste momento no modelo que o contém.
4. Abra templates/app/[Link] e observe como ele usa a marcação
condicional {% if user.is_authenticated %} juntamente com uma marcação {%
else %} para renderizar diferentes elementos da interface do usuário, dependendo
se o usuário realizou a autenticação:
HTML
{% if user.is_authenticated %}
<form id="logoutForm" action="/logout" method="post" class="navbar-
right">
{% csrf_token %}
<ul class="nav navbar-nav navbar-right">
<li><span class="navbar-brand">Hello {{ [Link] }}!
</span></li>
<li><a
href="javascript:[Link]('logoutForm').submit()">Log
off</a></li>
</ul>
</form>
{% else %}
<ul class="nav navbar-nav navbar-right">
<li><a href="{% url 'login' %}">Log in</a></li>
</ul>
{% endif %}
5. Como nenhum usuário é autenticado quando você inicia o aplicativo pela primeira
vez, esse código de modelo renderiza apenas o link "Fazer logon" para o caminho
"login" relativo. Conforme especificado em [Link] e exibido na seção anterior, essa
rota é mapeada para o modo de exibição [Link] que
recebe os seguintes dados:
Python
{
'template_name': 'app/[Link]',
'authentication_form': [Link],
'extra_context':
{
'title': 'Log in',
'year': [Link]().year,
}
}
Aqui, template_name identifica o modelo da página de logon, nesse caso,
templates/app/[Link]. A propriedade extra_context é adicionada aos dados de
contexto padrão fornecidos para o modelo. Por fim, authentication_form
especifica uma classe de formulário a ser usada com o logon; no modelo, ele é
exibido como o objeto form . O valor padrão é AuthenticationForm (de
[Link] ). Em vez disso, o modelo de projeto do Visual Studio
usa o formulário definido no arquivo [Link] do aplicativo:
Python
from django import forms
from [Link] import AuthenticationForm
from [Link] import ugettext_lazy as _
class BootstrapAuthenticationForm(AuthenticationForm):
"""Authentication form which uses boostrap CSS."""
username = [Link](max_length=254,
widget=[Link]({
'class': 'form-control',
'placeholder': 'User name'}))
password = [Link](label=_("Password"),
widget=[Link]({
'class': 'form-control',
'placeholder':'Password'}))
Como você pode ver, a classe de formulário deriva de AuthenticationForm e,
especificamente, substitui os campos de nome de usuário e senha para adicionar
texto de espaço reservado. O modelo do Visual Studio inclui esse código explícito
considerando que você possa querer personalizar o formulário, por exemplo,
adicionando uma validação de força de senha.
6. Quando você navega para a página de logon, o aplicativo renderiza o modelo
[Link]. As variáveis {{ [Link] }} e {{ [Link] }} renderizam os
formulários CharField de BootstrapAuthenticationForm . Há também uma seção
interna para mostrar erros de validação e um elemento predefinido para efetuar
logons em redes sociais, se você optar por adicionar esses serviços.
HTML
{% extends "app/[Link]" %}
{% block content %}
<h2>{{ title }}</h2>
<div class="row">
<div class="col-md-8">
<section id="loginForm">
<form action="." method="post" class="form-horizontal">
{% csrf_token %}
<h4>Use a local account to log in.</h4>
<hr />
<div class="form-group">
<label for="id_username" class="col-md-2 control-
label">User name</label>
<div class="col-md-10">
{{ [Link] }}
</div>
</div>
<div class="form-group">
<label for="id_password" class="col-md-2 control-
label">Password</label>
<div class="col-md-10">
{{ [Link] }}
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="hidden" name="next" value="/" />
<input type="submit" value="Log in" class="btn
btn-default" />
</div>
</div>
{% if [Link] %}
<p class="validation-summary-errors">Please enter a
correct user name and password.</p>
{% endif %}
</form>
</section>
</div>
<div class="col-md-4">
<section id="socialLoginForm"></section>
</div>
</div>
{% endblock %}
7. Quando você envia o formulário, o Django tenta autenticar suas credenciais (como
as credenciais do superusuário). Se a autenticação falhar, você permanecerá na
página atual, porém [Link] será definido como true. Se a autenticação for
bem-sucedida, o Django navegará para a URL relativa no campo "avançar", <input
type="hidden" name="next" value="/" /> , que, nesse caso, é a página inicial ( / ).
8. Agora, quando a home page for novamente renderizada, a propriedade
user.is_authenticated será verdadeira quando o modelo [Link] for
renderizado. Como resultado, você verá uma mensagem Olá, (nome de usuário) e
Fazer logoff. Você pode usar user.is_authenticated em outras partes do
aplicativo para verificar a autenticação.
9. Você precisa recuperar as permissões específicas do usuário do banco de dados
para verificar se o usuário autenticado está autorizado a acessar recursos
específicos. Para obter mais informações, confira Using the Django authentication
system (Usando o sistema de autenticação do Django) (documentos do Django).
10. O superusuário ou o administrador, em particular, está autorizado a acessar as
interfaces de administrador internas do Django usando as URLs relativas "/admin/"
e "/admin/doc/". Para habilitar essas interfaces, siga as etapas abaixo:
a. Instale o pacote Python docutils em seu ambiente. Uma ótima maneira de
instalar é adicionar "docutils" ao aquivo [Link]. Em seguida, no
Gerenciador de Soluções, expandir o projeto, expandir o nó Ambientes do
Python e, em seguida, clicar com o botão direito do mouse no ambiente que
você está usando e selecionar Instalar do [Link].
b. Abra o arquivo [Link] do projeto do Django e adicione o seguinte:
Python
from [Link] import include
from [Link] import admin
[Link]()
urlpatterns = [
path('admin/doc/', include('[Link]'))
]
c. No arquivo [Link] do projeto do Django, navegue até a coleção
INSTALLED_APPS e adicione '[Link]' .
d. Quando você reiniciar o aplicativo, navegue até "/admin/" e "/admin/doc/" e
execute tarefas, como criar mais contas de usuário.
11. A parte final do fluxo de autenticação é fazer logoff. Como você pode ver em
[Link], o link Fazer logoff apenas faz um POST para a URL relativa
"/login", que é manipulada pela exibição interna
[Link] . Essa exibição não exibe nenhuma interface do
usuário e apenas navega para a home page (conforme mostrado em [Link] para o
padrão "^logout$"). Se você quiser exibir uma página de logoff, primeiro altere o
padrão da URL conforme mostrado a seguir para adicionar uma propriedade
"template_name" e remover a propriedade "next_page":
Python
path('logout/',
[Link],
{
'template_name': 'app/[Link]',
# 'next_page': '/',
},
name='logout')
Em seguida, crie templates/app/[Link] com o seguinte conteúdo (mínimo):
HTML
{% extends "app/[Link]" %}
{% block content %}
<h3>You have been logged off</h3>
{% endblock %}
O resultado se parece com o seguinte:
12. Quando terminar, interrompa o servidor e, mais uma vez, confirme suas alterações
no controle do código-fonte.
Pergunta: Qual é a finalidade da marcação {% csrf_token
%} exibida nos elementos <form>?
Resposta: A marcação {% csrf_token %} inclui a proteção interna contra solicitações
intersites forjadas (csrf) do Django (documentos do Django). Normalmente, essa
marca é adicionada a qualquer elemento que envolva métodos de solicitação POST, PUT
ou DELETE, como um formulário. Em seguida, a função de renderização de modelo
( render ) insere a proteção necessária.
Próximas etapas
7 Observação
Se você tiver confirmando sua solução do Visual Studio para controle de origem ao
longo deste tutorial, agora será um bom momento para fazer outra confirmação. A
solução deve corresponder ao código-fonte do tutorial no GitHub:
Microsoft/python-sample-vs-learning-django .
Agora você explorou a totalidade dos modelos de "Projeto em branco da Web do
Django" e "Pesquisas de Projeto Web do Django" no Visual Studio. Você também
aprendeu todas as noções básicas do Django, como usar exibições e modelos. Além
disso, explorou o roteamento, a autenticação e os modelos de banco de dados usados.
Agora você deverá ser capaz de criar um aplicativo Web por sua conta com os modos
de exibição e os modelos de que precisar.
A execução de um aplicativo Web no computador de desenvolvimento é apenas uma
etapa para disponibilizar o aplicativo para seus clientes. As próximas etapas podem
incluir as seguintes tarefas:
Personalizar a página 404 criando um modelo chamado templates/[Link].
Quando presente, o Django usa esse modelo, em vez de seu padrão. Para saber
mais, veja Modos de exibição de erro na documentação do Django.
Escreva testes de unidade em [Link]; os modelos de projeto do Visual Studio
fornecem pontos iniciais para eles e mais informações podem ser encontradas em
Escrevendo seu primeiro aplicativo do Django, parte 5 – teste e Testando no
Django na documentação do Django.
Altere o aplicativo de SQLite para um repositório de dados de nível de produção
como PostgreSQL, MySQL e SQL Server (que pode ser hospedado no Azure).
Conforme descrito em Quando usar o SQLite ([Link]), o SQLite funciona bem
para sites de tráfego baixo a médio com menos de 100 mil acessos por dia. No
entanto, o SQLite não é recomendado para volumes mais altos. O SQLite também
é limitado a um único computador, de modo que ele não pode ser usado em
qualquer cenário de vários servidores, como balanceamento de carga e replicação
geográfica. Para obter informações sobre o suporte do Django para outros bancos
de dados, veja Instalação do banco de dados . Você também pode usar o SDK do
Azure para Python para trabalhar com serviços de armazenamento do Azure como
tabelas e blobs.
Configure um pipeline de integração contínua/implantação contínua em um
serviço como o Azure DevOps. Além de trabalhar com o controle do código-fonte
(por meio do Azure Repos, do GitHub ou em outro local), você pode configurar um
projeto do Azure DevOps para executar automaticamente seus testes de unidade
como um pré-requisito para a versão. Você também pode configurar o pipeline
para implantar em um servidor de preparo para mais testes antes de implantar na
produção. O Azure DevOps, além disso, integra-se às soluções de monitoramento,
como o App Insights e fecha o ciclo de inteiro com ferramentas ágeis de
planejamento. Para saber mais, confira Criar um pipeline de CI/CD para Python
com o projeto do Azure DevOps e também a documentação geral do Azure
DevOps.
Aprofunde-se um pouco mais
Autenticação de usuário no Django ([Link])
Código-fonte do tutorial no GitHub: Microsoft/python-sample-vs-learning-
django
Tutorial: Introdução à estrutura da Web
do Flask no Visual Studio
Artigo • 08/09/2023
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
O Flask é uma estrutura leve do Python para aplicativos Web que fornece as noções
básicas de roteamento de URL e renderização de página.
O Flask é denominado uma "microestrutura", porque não oferece diretamente
funcionalidades como validação de formulário, abstração de banco de dados,
autenticação e assim por diante. Essas funcionalidades são fornecidas por pacotes
especiais do Python chamados extensões do Flask. As extensões integram-se
perfeitamente ao Flask para serem exibidas como se fizessem parte do próprio Flask.
Por exemplo, o Flask não oferece um mecanismo de modelo de página. A modelagem é
fornecida por extensões como Jinja e Jade, conforme demonstrado neste tutorial.
Neste tutorial, você aprenderá como:
Crie um projeto básico do Flask em um repositório GIT usando o modelo "Projeto
Web em Branco do Flask" (etapa 1).
Crie um aplicativo do Flask com uma página e renderize essa página usando um
modelo (etapa 2).
Forneça arquivos estáticos, adicione páginas e use a herança do modelo (etapa 3).
Use o modelo Projeto Web do Flask para criar um aplicativo com várias páginas e
design responsivo (etapa 4).
No decorrer dessas etapas, você criará uma única solução do Visual Studio que contém
dois projetos separados. Você criará o projeto usando diferentes modelos de projeto do
Flask incluídos com o Visual Studio. Se você mantiver os projetos na mesma solução,
poderá facilmente alternar entre diferentes arquivos para comparação.
7 Observação
Este tutorial é diferente do Início Rápido do Flask no qual você saberá mais sobre
o Flask e como usar os diferentes modelos de projeto do Flask que fornecem um
ponto de início mais amplo para seus próprios projetos. Por exemplo, os modelos
de projeto instalam automaticamente o pacote do Flask ao criar um projeto, em
vez de precisar instalar o pacote manualmente, conforme mostrado no Início
Rápido.
Pré-requisitos
Visual Studio 2022 no Windows com as seguintes opções:
A carga de trabalho desenvolvimento do Python (guia Carga de Trabalho no
instalador). Para obter instruções, confira Instalar o suporte do Python no Visual
Studio.
Git para Windows na guia Componentes individuais em Ferramentas de
código.
Os modelos de projeto do Flask são incluídos com todas as versões anteriores das
Ferramentas Python para Visual Studio, embora os detalhes possam ser diferentes do
que foi discutido neste tutorial.
No momento, não há suporte para o desenvolvimento do Python no Visual Studio para
Mac. No Mac e no Linux, use o tutorial Extensão Python no Visual Studio Code .
Etapa 1-1: Criar uma solução e um projeto do
Visual Studio
1. No Visual Studio, selecione Arquivo>Novo>Projeto e pesquise por "Flask". Em
seguida, selecione o modelo em Projeto Web em branco do Flask e Avançar.
2. Configure seu novo projeto inserindo as seguintes informações e selecione Criar:
Nome: defina o nome do projeto do Visual Studio como BasicProject. Esse
nome também é usado para o projeto do Flask.
Local: especifique um local no qual criar o projeto e a solução do Visual
Studio.
Nome da solução: definido como LearningFlask, apropriado para a solução
como um contêiner para vários projetos neste tutorial.
Etapa 1-2: Examinar os controles do Git e
publicar em um repositório remoto
Nesta etapa, familiarize-se com os controles do Git do Visual Studio e a janela do Team
Explorer onde você trabalha com o controle do código-fonte.
1. Para confirmar o projeto no controle do código-fonte local, selecione o comando
Adicionar ao Controle do Código-Fonte no canto inferior da janela principal do
Visual Studio e selecione a opção Git. Essa ação levará você para a janela Criar
repositório Git, na qual poderá criar e enviar por push um novo repositório.
2. Depois de criar um repositório, um conjunto de novos controles do Git aparecerá
na parte inferior. Da esquerda para direita, esses controles mostram commits não
enviados, alterações não confirmadas, o branch atual e o nome do repositório:
3. Marque o botão de alterações do Git, e o Visual Studio abrirá a janela do Team
Explorer na página Alterações do Git. Como o projeto recém-criado já está
automaticamente confirmado no controle do código-fonte, você não verá as
alterações pendentes.
4. Na barra de status do Visual Studio, marque o botão de confirmação não enviada
(a seta para cima com um 2) para abrir a página Sincronização no Team Explorer.
Como você tem apenas um repositório local, a página oferece opções simples para
publicar o repositório em diferentes repositórios remotos.
Você pode selecionar o serviço que desejar para seus próprios projetos. Este
tutorial mostra o uso do GitHub, em que o código de exemplo concluído do
tutorial é mantido no repositório Microsoft/python-sample-vs-learning-django .
5. Ao selecionar qualquer um dos controles Publicar, o Team Explorer solicitará mais
informações. Por exemplo, ao publicar o exemplo para este tutorial, primeiro foi
necessário criar o próprio repositório. Nesse caso, a opção Enviar por Push para
Repositório Remoto foi usada com a URL do repositório.
Se você não tiver um repositório, as opções Publicar no GitHub e Enviar por Push
para o Azure DevOps permitirão criar um repositório diretamente no Visual
Studio.
6. Ao trabalhar com este tutorial, adquira o hábito de usar periodicamente os
controles no Visual Studio para confirmar e enviar alterações por push. Este tutorial
envia lembretes para você nos pontos apropriados.
Dica
Para navegar rapidamente no Team Explorer, selecione o cabeçalho (que indica
Alterações ou Efetuar Push nas imagens acima) para ver um menu pop-up das
páginas disponíveis.
Pergunta: Quais são algumas vantagens de usar o
controle do código-fonte a partir do início de um
projeto?
Reposta: o uso do controle do código-fonte desde o início, especialmente se você
também usar um repositório remoto, fornece um backup regular do projeto em um
local externo. Em vez de manter um projeto apenas em um sistema de arquivos local, o
controle do código-fonte também oferece um histórico de alterações completo e facilita
a reversão de um único arquivo ou todo o projeto para um estado anterior. O histórico
de alterações ajuda a determinar a causa das regressões (falhas de teste). O controle do
código-fonte é essencial se várias pessoas estiverem trabalhando em um projeto, pois
ele gerencia substituições e fornece a resolução de conflitos. O controle do código-
fonte é basicamente uma forma de automação, preparando para automatizar o
gerenciamento de compilações, testes e versões. Esse recurso representa o primeiro
passo no uso de DevOps em um projeto e, como os obstáculos para entrar são muito
baixos, realmente não há motivos para não usar o controle do código-fonte desde o
início.
Para uma discussão mais aprofundada sobre o controle do código-fonte usado como
automação, confira A origem da verdade: a função dos repositórios no DevOps, um
artigo da MSDN Magazine destinado a aplicativos móveis, mas que também se aplica a
aplicativos Web.
Pergunta: É possível evitar que o Visual Studio confirme
automaticamente um novo projeto?
Resposta: Sim. Para desabilitar a confirmação automática, vá para a página
Configurações no Team Explorer, escolha Git>Configurações Globais, desmarque o
opção rotulada como Confirmar alterações após mesclagem por padrão e, em seguida,
escolha Atualizar.
Etapa 1-3: Criar o ambiente virtual e excluí-lo
do controle do código-fonte
Agora que você configurou o controle do código-fonte para o projeto, é possível criar
no ambiente virtual os pacotes necessários do Flask que o projeto exige. Você pode usar
o Team Explorer para excluir a pasta do ambiente do controle do código-fonte.
1. No Gerenciador de Soluções, clique com o botão direito do mouse no nó
Ambientes do Python e selecione Adicionar Ambiente.
2. Selecione Criar para aceitar os padrões na caixa de diálogo Adicionar Ambiente
Virtual. (Se desejar, o nome do ambiente virtual pode ser alterado. Essa ação
alterará apenas o nome da subpasta, mas env é uma convenção padrão).
3. Dê a concessão aos privilégios de administrador, se solicitado, e aguarde alguns
minutos enquanto o Visual Studio baixa e instala os pacotes. Durante esse tempo,
milhares de arquivos serão transferidos para diversas subpastas. Você pode ver o
progresso na janela Saída no Visual Studio. Enquanto você aguarda, analise as
seções de perguntas a seguir.
4. Nos controles do Git do Visual Studio (na barra de status), selecione o indicador de
alterações (que mostra 99*) que abre a página Alterações no Team Explorer.
A criação do ambiente virtual apresentou milhares de alterações, mas nenhuma
delas precisará ser incluída no controle do código-fonte já que você (ou qualquer
outra pessoa que venha a clonar o projeto) poderá sempre recriar o ambiente com
base em [Link].
Para excluir o ambiente virtual, clique com o botão direito do mouse na pasta env
e selecione Ignorar estes itens locais.
5. Depois de excluir o ambiente virtual, as únicas alterações restantes são as
referentes ao arquivo de projeto e a .gitignore. O arquivo .gitignore contém uma
entrada adicional para a pasta do ambiente virtual. Você pode clicar duas vezes no
arquivo para ver uma comparação.
6. Digite uma mensagem de confirmação, escolha o botão Confirmar Todos e envie
as confirmações por push para o repositório remoto.
Pergunta: Por que criar um ambiente virtual?
Resposta: Um ambiente virtual é uma ótima maneira de isolar as dependências exatas
do seu aplicativo. Esse isolamento evita conflitos em um ambiente global do Python e
auxilia nos testes e na colaboração. Com o tempo, à medida que desenvolver um
aplicativo, invariavelmente, você introduzirá muitos pacotes úteis do Python. Mantendo
os pacotes em um ambiente virtual específico do projeto, você pode atualizar com
facilidade o arquivo [Link] do projeto que descreve esse ambiente, incluído no
controle do código-fonte. Quando o projeto é copiado para outros computadores,
incluindo servidores de build, servidores de implantação e outros computadores de
desenvolvimento, é fácil recriar o ambiente usando apenas o [Link] (é por isso
que o ambiente não precisa estar no controle do código-fonte). Para obter mais
informações, confira Usar ambientes virtuais.
Pergunta: Como faço para remover um ambiente virtual
que já está confirmado no controle do código-fonte?
Resposta: Primeiro, edite o arquivo .gitignore para excluir a pasta: localize a seção ao
final com o comentário # Python Tools for Visual Studio (PTVS) e adicione uma nova
linha à pasta do ambiente virtual, como /BasicProject/env . (Como o Visual Studio não
mostra o arquivo no Gerenciador de Soluções, abra-o diretamente usando os
comandos de menu Arquivo>Abrir>Arquivo. Você também pode abrir o arquivo no
Team Explorer: na página Configurações, selecione Configurações do Repositório,
navegue até a seção Ignorar & Arquivos de Atributos e selecione o link Editar próximo
a .gitignore).
Em segundo lugar, abra uma janela Comando, navegue para a pasta, como BasicProject,
que contém a pasta do ambiente virtual, como env, e execute git rm -r env . Em
seguida, confirme essas alterações na linha de comando ( git commit -m 'Remove venv' )
ou confirme na página Alterações do Team Explorer.
Etapa 1-4: Examinar o código de texto clichê
1. Quando a criação do projeto for concluída, você verá a solução e o projeto no
Gerenciador de Soluções, em que o projeto contém apenas dois arquivos, [Link]
e [Link]:
2. Conforme observado anteriormente, o arquivo [Link] especifica a
dependência de pacote do Flask. A presença desse arquivo é que faz com que
você seja convidado a criar um ambiente virtual ao desenvolver o projeto pela
primeira vez.
3. O único arquivo [Link] contém três partes. A primeira é uma instrução import
para o Flask, criando uma instância da classe Flask , atribuída à variável app e
então atribuindo uma variável wsgi_app (útil ao implantar um host da Web, mas
não será usada no momento):
Python
from flask import Flask
app = Flask(__name__)
# Make the WSGI interface available at the top level so wfastcgi can
get it.
wsgi_app = app.wsgi_app
4. A segunda parte, ao fim do arquivo, é um trecho do código opcional que inicia o
servidor de desenvolvimento do Flask com valores de porta e de host específicos
extraídos de variáveis de ambiente (padrão para localhost:5555):
Python
if __name__ == '__main__':
import os
HOST = [Link]('SERVER_HOST', 'localhost')
try:
PORT = int([Link]('SERVER_PORT', '5555'))
except ValueError:
PORT = 5555
[Link](HOST, PORT)
5. A terceira é um breve trecho de código que atribui uma função a uma rota de URL,
o que significa que a função oferece o recurso identificado pela URL. Defina rotas
usando o decorador @[Link] do Flask, cujo argumento é a URL relativa da raiz
do site. Como é possível ver no código, a função retorna apenas uma cadeia de
caracteres de texto, que é suficiente para um navegador renderizar. Nas etapas
seguintes, você renderizará páginas mais avançadas com HTML.
Python
@[Link]('/')
def hello():
"""Renders a sample page."""
return "Hello World!"
Pergunta: Qual é a finalidade do argumento name para a
classe do Flask?
Resposta: o argumento é o nome do módulo ou do pacote do aplicativo e informa ao
Flask onde procurar modelos, arquivos estáticos e outros recursos que pertencem ao
aplicativo. Para aplicativos contidos em um único módulo, __name__ é sempre o valor
adequado. Também é importante para as extensões que precisam de informações de
depuração. Para obter mais informações, e outros argumentos, confira a documentação
de classes do Flask ([Link]).
Pergunta: Uma função pode ter mais de um decorador de
rota?
Resposta: sim, será possível usar quantos decoradores você quiser se a mesma função
servir para várias rotas. Por exemplo, para usar a função hello para "/" e "/hello", use o
seguinte código:
Python
@[Link]('/')
@[Link]('/hello')
def hello():
"""Renders a sample page."""
return "Hello World!"
Pergunta: Como o Flask trabalha com rotas de URL de
variável e parâmetros de consulta?
Resposta: em uma rota, marque qualquer variável com <variable_name> , e o Flask
passará a variável para a função usando um argumento nomeado no caminho da URL.
Por exemplo, uma rota na forma de /hello/<name> gera o argumento de cadeia de
caracteres name para a função . Os parâmetros de consulta também estão disponíveis
por meio da propriedade [Link] , especificamente por meio do método
[Link] .
Python
# URL: /hello/<name>?message=Have%20a%20nice%20day
@[Link]('/hello/<name>')
def hello(name):
msg = [Link]('message','')
return "Hello " + name + "! "+ msg + "."
Para alterar o tipo, insira int , float , path à frente da variável (que aceita barras para
delinear nomes de pasta) e uuid . Para obter detalhes, confira Regras de variáveis na
documentação do Flask.
Pergunta: O Visual Studio pode gerar um arquivo
[Link] a partir de um ambiente virtual depois
de instalar outros pacotes?
Resposta: Sim. Expanda o nó Ambientes do Python, clique com o botão direito do
mouse no ambiente virtual e escolha o comando Gerar [Link]. É
recomendável usar esse comando periodicamente conforme você modifica o ambiente
e confirma as alterações em [Link] no controle do código-fonte, juntamente
com outras alterações de código que dependem desse ambiente. Se você configurar a
integração contínua em um servidor de compilação, deverá gerar o arquivo e confirmar
as alterações sempre que modificar o ambiente.
Etapa 1-5: Executar o projeto
1. No Visual Studio, selecione Depurar>Iniciar Depuração (F5) ou use o botão
Servidor Web na barra de ferramentas (o navegador que você vai ver pode variar):
2. Qualquer comando atribui um número da porta aleatório à variável de ambiente
PORT e, em seguida, executa python [Link] . O código inicia o aplicativo usando
essa porta dentro do servidor de desenvolvimento do Flask. Se o Visual Studio
informar Falha ao iniciar o depurador com uma mensagem que alerta para a
ausência de um arquivo de inicialização, clique com o botão direito do mouse em
[Link] no Gerenciador de Soluções e selecione Definir como Arquivo de
Inicialização.
3. Ao iniciar o servidor, você verá que a janela do console aberta exibe o log do
servidor. O Visual Studio abre automaticamente um navegador para
[Link] , em que você verá a mensagem renderizada pela função
hello :
4. Quando terminar, interrompa o servidor fechando a janela do console ou usando o
comando Depurar>Parar Depuração no Visual Studio.
Pergunta: Qual é a diferença entre usar os comandos do
menu Depuração e os comandos do servidor no submenu
do Python do projeto?
Resposta: Além dos comandos do menu Depurar e dos botões da barra de ferramentas,
você também pode iniciar o servidor usando os comandos Python>Executar servidor
ou Python>Executar o servidor de depuração no menu de contexto do projeto. Os dois
comandos abrem uma janela de console na qual você vê a URL local (localhost:port) do
servidor em execução. No entanto, você deve abrir manualmente um navegador usando
essa URL, já que a execução do servidor de depuração não inicia automaticamente o
depurador do Visual Studio. Se desejar, você pode posteriormente anexar um
depurador ao processo em execução usando o comando Depurar>Anexar ao Processo.
Próximas etapas
Neste ponto, o projeto básico do Flask contém o código de inicialização e o código de
página no mesmo arquivo. É melhor separar essas duas questões e também separar o
HTML e os dados usando modelos.
Criar um aplicativo do Flask com modos de exibição e modelos de página
Etapa 2: Criar um aplicativo Flask com
exibições e modelos de página
Artigo • 08/09/2023
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
Etapa anterior: Criar uma solução e um projeto do Visual Studio
Na etapa 1 deste tutorial, você criou um aplicativo Flask com uma página e todo o
código em um único arquivo. Para permitir o desenvolvimento futuro, é melhor
refatorar o código e criar uma estrutura para modelos de página. Em particular, separe o
código para exibições do aplicativo de outros aspectos como o código de inicialização.
Nesta etapa, você aprenderá a:
" Refatorar o código do aplicativo para separar exibições do código de inicialização
(etapa 2-1)
" Renderizar uma exibição usando um modelo de página (etapa 2-2)
Etapa 2-1: Refatorar o projeto para dar suporte
ao desenvolvimento adicional
No código criado pelo modelo "Projeto Web em Branco do Flask", você tem um único
arquivo [Link] que contém o código de inicialização junto com uma única exibição. Para
permitir o desenvolvimento adicional de um aplicativo com várias exibições e modelos,
é melhor separar essas preocupações.
1. Na pasta do seu projeto, crie uma pasta de aplicativo chamada HelloFlask (clique
com o botão direito do mouse no projeto em Gerenciador de Soluções e
selecione Adicionar>Nova Pasta.)
2. Na pasta HelloFlask, crie um arquivo chamado __init__.py com o seguinte conteúdo
que cria a instância Flask e carrega as exibições do aplicativo (criadas na próxima
etapa):
Python
from flask import Flask
app = Flask(__name__)
import [Link]
3. Na pasta HelloFlask, crie um arquivo chamado [Link] com o conteúdo a seguir.
O nome [Link] é importante, porque você usou import [Link] dentro
de __init__.py; você verá um erro em tempo de execução se os nomes não
corresponderem.
Python
from flask import Flask
from HelloFlask import app
@[Link]('/')
@[Link]('/home')
def home():
return "Hello Flask!"
Além de renomear a função e a rota como home , esse código contém o código de
renderização da página de [Link] e importa o objeto app declarado em __init__.py.
4. Crie uma subpasta em HelloFlask chamada templates, que permanecerá vazia por
enquanto.
5. Na pasta raiz do projeto, renomeie [Link] como [Link] e faça o conteúdo
corresponder ao seguinte código:
Python
import os
from HelloFlask import app # Imports the code from
HelloFlask/__init__.py
if __name__ == '__main__':
HOST = [Link]('SERVER_HOST', 'localhost')
try:
PORT = int([Link]('SERVER_PORT', '5555'))
except ValueError:
PORT = 5555
[Link](HOST, PORT)
6. A estrutura do seu projeto deve ser semelhante à da imagem a seguir:
7. Selecione Depurar>Iniciar Depuração (F5) ou use o botão Servidor Web na barra
de ferramentas (o navegador exibido poderá variar) para iniciar o aplicativo e abrir
um navegador. Experimente as rotas de URL / e /home.
8. Também é possível definir pontos de interrupção em várias partes do código e
reiniciar o aplicativo para seguir a sequência de inicialização. Por exemplo, defina
um ponto de interrupção nas primeiras linhas de [Link] e HelloFlask_*init_.py
e na linha return "Hello Flask!" de [Link]. Em seguida, reinicie o aplicativo
(Depurar>Reiniciar, Ctrl+Shift+F5 ou o botão de barra de ferramentas mostrado
abaixo) e execute o código em etapas (F10) ou execute-o em cada ponto de
interrupção usando F5.
9. Interrompa o aplicativo ao terminar.
Confirmar o controle do código-fonte
Depois de fazer as alterações no código e testar com êxito, você pode examinar e
confirmar as alterações no controle do código-fonte. Em etapas posteriores, quando
este tutorial lembrar você de fazer commit com o controle do código-fonte novamente,
consulte esta seção.
1. Selecione o botão de alterações na parte inferior do Visual Studio (circulado
abaixo), que encaminha para o Team Explorer.
2. No Team Explorer, digite uma mensagem de confirmação como "Refatorar
código" e selecione Confirmar Tudo. Quando a confirmação for concluída, você
verá uma mensagem Commit <hash> criada localmente. Sincronize para
compartilhar suas alterações com o servidor. Se você quiser enviar alterações por
push para o repositório remoto, selecione Sincronizar e, em seguida, selecione
efetuar push em Commits de saída. Também é possível acumular várias
confirmações locais antes de enviar para o repositório remoto.
Pergunta: Com que frequência é necessário fazer a
confirmação no controle do código-fonte?
Resposta: A confirmação de alterações no controle do código-fonte cria um registro no
log de alterações e um ponto em que é possível reverter o repositório, se necessário.
Cada confirmação também pode ser examinada para suas alterações específicas. Como
as confirmações no GIT não são caras, é melhor realizar confirmações frequentes do que
acumular um grande número de alterações em uma única confirmação. Não é
necessário confirmar cada pequena alteração em arquivos individuais. Normalmente,
você realiza uma confirmação ao adicionar uma funcionalidade, alterando uma estrutura
como você fez nesta etapa, ou refatorar algum código. Verifique também com outras
pessoas da sua equipe para a granularidade de confirmações que funcionam melhor
para todos.
A frequência de confirmação e a frequência de envio de confirmações por push a um
repositório remoto são duas preocupações diferentes. Você pode acumular várias
confirmações no seu repositório local antes de enviá-las por push para o repositório
remoto. A frequência dos commits depende de como sua equipe deseja gerenciar o
repositório.
Etapa 2-2: Usar um modelo para renderizar
uma página
A função home que você tem até agora em [Link] não gera nada além de uma
resposta HTTP de texto sem formatação para a página. No entanto, a maioria das
páginas da Web reais respondem com páginas HTML avançadas que incorporam dados
dinâmicos com frequência. A principal razão para definir uma exibição usando uma
função é gerar esse conteúdo dinamicamente.
Como o valor retornado para a exibição é apenas uma cadeia de caracteres, é possível
criar qualquer HTML que desejar dentro de uma cadeia de caracteres, usando conteúdo
dinâmico. No entanto, como é melhor separar a marcação dos dados, é melhor inserir a
marcação em um modelo e manter os dados no código.
1. Para iniciantes, edite [Link] para que ela contenha o seguinte código que usa
HTML embutido para a página com algum conteúdo dinâmico:
Python
from datetime import datetime
from flask import render_template
from HelloFlask import app
@[Link]('/')
@[Link]('/home')
def home():
now = [Link]()
formatted_now = [Link]("%A, %d %B, %Y at %X")
html_content = "<html><head><title>Hello Flask</title></head>
<body>"
html_content += "<strong>Hello Flask!</strong> on " + formatted_now
html_content += "</body></html>"
return html_content
2. Execute o aplicativo e atualize a página poucas vezes para ver que a data/hora está
atualizada. Interrompa o aplicativo ao terminar.
3. Para converter a renderização da página para usar um modelo, crie um arquivo
chamado [Link] na pasta templates com o seguinte conteúdo, em que {{
content }} é um espaço reservado ou um token de substituição (também
chamado de uma variável de modelo) para o qual você fornece um valor no
código:
HTML
<html>
<head>
<title>Hello Flask</title>
</head>
<body>
{{ content }}
</body>
</html>
4. Modifique a função home para usar render_template para carregar o modelo e
fornecer um valor para "conteúdo", que é feito usando um argumento nomeado
correspondente ao nome do espaço reservado. O Flask procura automaticamente
os modelos na pasta templates; portanto o caminho para o modelo é relativo a
essa pasta:
Python
def home():
now = [Link]()
formatted_now = [Link]("%A, %d %B, %Y at %X")
return render_template(
"[Link]",
content = "<strong>Hello, Flask!</strong> on " + formatted_now)
5. Execute o aplicativo e veja os resultados. Observe que o HTML embutido no valor
content não é renderizado como HTML, porque o mecanismo de modelagem
(Jinja) ignora automaticamente o conteúdo HTML. O escape automático impede
vulnerabilidades acidentais a ataques de injeção. Os desenvolvedores geralmente
coletam entradas de uma página e a usam como um valor em outra por meio de
um espaço reservado de modelo. O escape também funciona como um lembrete
de que é melhor manter o HTML fora do código.
Da mesma forma, examine templates\[Link] para conter espaços reservados
distintos em cada parte dos dados dentro da marcação:
HTML
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
<strong>{{ message }}</strong>{{ content }}
</body>
</html>
Em seguida, atualize a função home para fornecer valores para todos os espaços
reservados:
Python
def home():
now = [Link]()
formatted_now = [Link]("%A, %d %B, %Y at %X")
return render_template(
"[Link]",
title = "Hello Flask",
message = "Hello, Flask!",
content = " on " + formatted_now)
6. Execute o aplicativo novamente e veja a saída renderizada corretamente.
7. Você pode confirmar suas alterações no controle do código-fonte e atualizar seu
repositório remoto. Para obter mais informações, consulte a etapa 2-1.
Pergunta: Os modelos de página precisam ficar em um
arquivo separado?
Resposta: Embora os modelos geralmente sejam mantidos em arquivos HTML
separados, também é possível usar um modelo embutido. É recomendável usar arquivos
separados para manter uma separação clara entre o markup e o código.
Pergunta: Os modelos precisam usar a extensão de
arquivo .html?
Resposta: A extensão .html dos arquivos de modelo de página é totalmente opcional,
porque você sempre pode identificar o caminho relativo exato para o arquivo no
primeiro argumento para a função render_template . No entanto, o Visual Studio (e
outros editores) costuma fornecer funcionalidades como preenchimento de código e
coloração de sintaxe com arquivos .html, o que supera o fato de os modelos de página
não serem HTML.
Quando você está trabalhando com um projeto do Flask, o Visual Studio detecta
automaticamente quando o arquivo HTML que você está editando é, na verdade, um
modelo do Flask e fornece algumas funcionalidades de preenchimento automático. Por
exemplo, quando você começa a digitar um comentário no modelo de página do Flask,
{# , o Visual Studio fornece automaticamente os caracteres de fechamento #} . Os
comandos Comentar Seleção e Remover Marca de Comentário da Seleção (no menu
Editar>Avançado e na barra de ferramentas) também usam comentários de modelo em
vez de comentários em HTML.
Pergunta: Os modelos podem ser organizados em
subpastas adicionais?
Resposta: Sim. É possível usar subpastas e, em seguida, referir-se ao caminho relativo
em templates nas chamadas a render_template . Isso é uma ótima maneira de criar
efetivamente namespaces para os modelos.
Próximas etapas
Fornecer arquivos estáticos, adicionar páginas e usar a herança do modelo
Aprofunde-se um pouco mais
Início rápido do Flask – Renderizando modelos ([Link])
Código-fonte do tutorial no GitHub: Microsoft/python-sample-vs-learning-flask
Etapa 3: Fornecer arquivos estáticos,
adicionar páginas e usar a herança do
modelo com o aplicativo Flask
Artigo • 19/06/2023
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
Etapa anterior: Criar um aplicativo do Flask com modos de exibição e modelos de
página
Nas etapas anteriores deste tutorial, você aprendeu como criar um aplicativo mínimo do
Flask com uma única página HTML autocontido. Os aplicativos web modernos
geralmente são compostos por várias páginas e usam recursos compartilhados, como
arquivos CSS e JavaScript, para fornecer comportamento e estilo consistentes.
Nesta etapa, você aprenderá a:
" Usar modelos de item do Visual Studio para adicionar rapidamente novos arquivos
de diferentes tipos com código clichê conveniente (etapa 3-1)
" Fornecer arquivos estáticos do código (etapa 3-2, opcional)
" Adicionar mais páginas ao aplicativo (etapa 3-3)
" Usar a herança do modelo para criar um cabeçalho e uma barra de navegação
usados nas páginas (etapa 3-4)
Etapa 3-1: Familiarizar-se com os modelos de
item
À medida que desenvolve um aplicativo do Flask, geralmente você adiciona vários
outros arquivos Python, HTML, CSS e JavaScript. Para cada tipo de arquivo (bem como
para outros arquivos, como [Link], que podem ser necessários para a implantação),
o Visual Studio fornece modelos de itens convenientes para você começar.
Para ver os modelos disponíveis, vá para Gerenciador de Soluções, clique com o botão
direito do mouse na pasta em que você deseja criar o item, selecione Adicionar>Novo
Item:
Para usar um modelo, selecione o modelo desejado, especifique um nome para o
arquivo e selecione OK. A adição de um item dessa maneira adiciona automaticamente
o arquivo ao projeto do Visual Studio e marca as alterações para controle do código-
fonte.
Pergunta: Como o Visual Studio sabe quais modelos de
item oferecer?
Resposta: O arquivo de projeto do Visual Studio (.pyproj) contém um identificador de
tipo de projeto que o marca como um projeto do Python. O Visual Studio usa esse
identificador de tipo para mostrar apenas os modelos de item adequados para o tipo de
projeto. Dessa forma, o Visual Studio pode fornecer um conjunto avançado de modelos
de item para muitos tipos de projeto sem solicitar que você os classifique toda vez.
Etapa 3-2: Fornecer arquivos estáticos do seu
aplicativo
Em um aplicativo Web criado com Python (usando qualquer estrutura), seus arquivos
em Python sempre são executados no servidor do host da Web e nunca são
transmitidos para o computador de um usuário. Mas outros arquivos, como CSS e
JavaScript, são usados exclusivamente pelo navegador, de modo que o servidor do host
simplesmente os entrega sem alterações sempre que são solicitados. Esses arquivos são
chamados de "estáticos", e o Flask pode fornecê-los automaticamente sem que você
precise escrever código. Dentro de arquivos HTML, por exemplo, é possível referenciar
arquivos estáticos usando um caminho relativo no projeto. A primeira seção desta etapa
adiciona um arquivo CSS ao modelo de página existente.
Quando você precisar entregar um arquivo estático do código, como por meio de uma
implementação de ponto de extremidade de API, o Flask fornecerá um método
conveniente que permite a você referenciar arquivos usando caminhos relativos dentro
de uma pasta chamada static (na raiz do projeto). A segunda seção desta etapa
demonstra esse método usando um arquivo de dados estático simples.
Em qualquer caso, você pode organizar os arquivos em static como desejar.
Usar um arquivo estático em um modelo
1. No Gerenciador de Soluções, clique com o botão direito do mouse na pasta
HelloFlask no projeto do Visual Studio, selecione Adicionar>Nova pasta e nomeie
a pasta static .
2. Clique com o botão direito do mouse na pasta static e selecione Adicionar>Novo
item. Na caixa de diálogo exibida, selecione o modelo Folha de estilos, nomeie o
arquivo [Link] e selecione OK. O arquivo [Link] é exibido no projeto e aberto
no editor. A estrutura de pastas deve ser semelhante à imagem a seguir:
3. Substitua o conteúdo de [Link] pelo seguinte código e salve o arquivo:
css
.message {
font-weight: 600;
color: blue;
}
4. Substitua o conteúdo do arquivo templates/[Link] do aplicativo pelo código a
seguir, que substitui o elemento <strong> usado na etapa 2 por um <span> que
referencia a classe de estilo message . O uso de uma classe de estilo dessa maneira
oferece muito mais flexibilidade ao estilo do elemento.
HTML
<html>
<head>
<title>{{ title }}</title>
<link rel="stylesheet" type="text/css" href="/static/[Link]"
/>
</head>
<body>
<span class="message">{{ message }}</span>{{ content }}
</body>
</html>
5. Execute o projeto para observar os resultados. Interrompa o aplicativo quando
terminar e pode confirmar as alterações no controle do código-fonte se desejar
(conforme explicado na etapa 2).
Fornecer um arquivo estático do código
O Flask fornece uma função chamada serve_static_file que você pode chamar por
meio do código para referenciar qualquer arquivo dentro da pasta static do projeto. O
processo a seguir cria um ponto de extremidade de API simples que retorna um arquivo
de dados estáticos.
1. Se você ainda não fez isto, crie uma pasta static: no Gerenciador de Soluções,
clique com o botão direito do mouse na pasta HelloFlask no projeto do Visual
Studio, selecione Adicionar>Nova pasta e nomeie a pasta static .
2. Na pasta static, crie um arquivo de dados JSON estático chamado [Link] com o
seguinte conteúdo (dados de exemplo sem sentido):
JSON
{
"01": {
"note" : "Data is very simple because we're demonstrating only
the mechanism."
}
}
3. Em [Link], adicione uma função com a rota /api/data que retorna o arquivo de
dados estático usando o método send_static_file :
Python
@[Link]('/api/data')
def get_data():
return app.send_static_file('[Link]')
4. Execute o aplicativo e navegue até o ponto de extremidade /api/data para ver se o
arquivo estático será retornado. Interrompa o aplicativo ao terminar.
Pergunta: Há convenções para organizar arquivos
estáticos?
Resposta: Você pode adicionar outros arquivos CSS, JavaScript e HTML à sua pasta static
como quiser. Uma maneira comum de organizar arquivos estáticos é criar subpastas
chamadas fonts, scripts e content (para folhas de estilo e outros arquivos).
Pergunta: Como fazer para manipular variáveis de URL e
parâmetros de consulta em uma API?
Resposta: Confira a resposta na etapa 1-4 para a Pergunta: Como o Flask trabalha com
rotas de URL de variável e parâmetros de consulta?
Etapa 3-3: Adicionar uma página ao aplicativo
A adição de outra página ao aplicativo significa o seguinte:
Adicione uma função em Python que defina o modo de exibição.
Adicione um modelo para a marcação da página.
Adicione o roteamento necessário ao arquivo [Link] do projeto do Flask.
As etapas a seguir adicionam uma página "Sobre" ao projeto "HelloFlask" e links para
essa página na home page:
1. No Gerenciador de Soluções, clique com o botão direito do mouse na pasta
templates, selecione Adicionar>Novo item, selecione o modelo de item Página
HTML, nomeie o arquivo [Link] e selecione OK.
Dica
Se o comando Novo Item não for exibido no menu Adicionar, verifique se
você interrompeu o aplicativo para que o Visual Studio saia do modo de
depuração.
2. Substitua o conteúdo de [Link] pela seguinte marcação (substitua o link
explícito para a home page por uma barra de navegação simples na etapa 3-4):
HTML
<html>
<head>
<title>{{ title }}</title>
<link rel="stylesheet" type="text/css" href="/static/[Link]"
/>
</head>
<body>
<div><a href="home">Home</a></div>
{{ content }}
</body>
</html>
3. Abra o arquivo [Link] do aplicativo e adicione uma função chamada about que
usa o modelo:
Python
@[Link]('/about')
def about():
return render_template(
"[Link]",
title = "About HelloFlask",
content = "Example app page for Flask.")
4. Abra o arquivo templates/[Link] e adicione a seguinte linha imediatamente
dentro do elemento <body> para criar um link para a página About (novamente,
substitua esse link por uma barra de navegação na etapa 3-4):
HTML
<div><a href="about">About</a></div>
5. Salve todos os arquivos usando o comando de menu Arquivo>Salvar Tudo ou
pressione Ctrl+Shift+S. (Essa etapa não é necessária, pois a execução do projeto
no Visual Studio salva os arquivos automaticamente. No entanto, é um bom
comando para se saber!)
6. Execute o projeto para observar os resultados e verificar a navegação entre as
páginas. Interrompa o aplicativo quando terminar.
Pergunta: o nome de uma função de página é importante
para o Flask?
Resposta: não, porque ele é o decorador @[Link] que determina as URLs para as
quais o Flask chama a função para gerar uma resposta. Normalmente, os
desenvolvedores correspondem o nome da função à rota, mas essa correspondência
não é obrigatória.
Etapa 3-4: Usar a herança do modelo para criar
um cabeçalho e uma barra de navegação
Em vez de ter links de navegação explícitos em cada página, os aplicativos Web
modernos normalmente usam um cabeçalho de marca e uma barra de navegação que
fornece os links de página mais importantes, menus pop-up e assim por diante. Para
garantir que o aplicativo seja consistente, o cabeçalho e a barra de navegação devem
ser os mesmos em todas as páginas, sem repetir o mesmo código em cada modelo de
página. Em vez disso, defina as partes comuns de todas as páginas em um único local.
O sistema de modelos do Flask (Jinja por padrão) fornece dois meios para reutilização
de elementos específicos em vários modelos: inclui e herança.
Includes corresponde a outros modelos de página que você insere em um local
específico no modelo de referência usando a sintaxe {% include <template_path>
%} . Você também pode usar uma variável se quiser alterar o caminho
dinamicamente no código. Os elementos Inclui normalmente são usados no corpo
de uma página para extrair o modelo compartilhado em um local específico na
página.
Inheritance usa o {% extends <template_path> %} no início de um modelo de
página para especificar um modelo de base compartilhado no qual o modelo de
referência se baseará. O elemento Herança costuma ser usado para definir um
layout compartilhado, uma barra de navegação e outras estruturas para as páginas
de um aplicativo, de modo que os modelos de referência precisam apenas
adicionar ou modificar áreas específicas do modelo de base chamadas blocos.
Em ambos os casos, <template_path> é relativo à pasta templates do aplicativo ( ../ ou
./ também é permitido).
Um modelo de base delineia blocos usando as marcações {% block <block_name> %} e
{% endblock %} . Se um modelo de referência usar marcações com o mesmo nome de
bloco, o conteúdo do bloco substituirá o do modelo de base.
As etapas a seguir demonstram a herança:
1. Na pasta templates do aplicativo, crie um arquivo HTML (usando o menu de
contexto Adicionar>Novo item ou Adicionar>Página HTML) chamado [Link]
e substitua o conteúdo pela marcação abaixo. Veja que esse modelo contém um
bloco chamado "conteúdo", que representa tudo o que as páginas de referência
precisam substituir:
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>{{ title }}</title>
<link rel="stylesheet" type="text/css" href="/static/[Link]" />
</head>
<body>
<div class="navbar">
<a href="/" class="navbar-brand">Hello Flask</a>
<a href="{{ url_for('home') }}" class="navbar-item">Home</a>
<a href="{{ url_for('about') }}" class="navbar-item">About</a>
</div>
<div class="body-content">
{% block content %}
{% endblock %}
<hr/>
<footer>
<p>© 2018</p>
</footer>
</div>
</body>
</html>
2. Adicione os seguintes estilos ao arquivo static/[Link] do aplicativo (este passo a
passo não demonstra o design responsivo; no entanto; esses estilos servem apenas
para gerar um resultado interessante):
css
.navbar {
background-color: lightslategray;
font-size: 1em;
font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida
Grande', 'Lucida Sans', Arial, sans-serif;
color: white;
padding: 8px 5px 8px 5px;
}
.navbar a {
text-decoration: none;
color: inherit;
}
.navbar-brand {
font-size: 1.2em;
font-weight: 600;
}
.navbar-item {
font-variant: small-caps;
margin-left: 30px;
}
.body-content {
padding: 5px;
font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
3. Modifique templates/[Link] para se referir ao modelo base e substituir o bloco
de conteúdo. Veja que, usando a herança, esse modelo se torna simples:
HTML
{% extends "[Link]" %}
{% block content %}
<span class="message">{{ message }}</span>{{ content }}
{% endblock %}
4. Modifique templates/[Link] para se referir também ao modelo base e
substituir o bloco de conteúdo:
HTML
{% extends "[Link]" %}
{% block content %}
{{ content }}
{% endblock %}
5. Execute o servidor para observar os resultados. Quando terminar, feche o
navegador.
6. Como você fez alterações significativas no aplicativo, é novamente um bom
momento para confirmar suas alterações no controle do código-fonte.
Próximas etapas
Você pode se aprofundar com estes recursos:
Para ver mais funcionalidades de modelos Jinja, como o fluxo de controle, confira
Jinja Template Designer Documentation (Documentação de Designer de Modelo
do Jinja) ([Link])
Para obter detalhes sobre o uso de url_for , confira url_for na documentação do
objeto do Aplicativo Flask ([Link])
Código-fonte do tutorial no GitHub: Microsoft/python-sample-vs-learning-flask
Projetos do Python no Visual Studio
Artigo • 18/04/2024
Geralmente, os aplicativos Python são definidos usando apenas pastas e arquivos. Essa
estrutura pode se tornar complexa à medida que os aplicativos crescem e acabam
envolvendo arquivos gerados automaticamente, como JavaScript para aplicativos Web e
assim por diante. Um projeto do Visual Studio pode ajudar você a gerenciar a
complexidade. O projeto (um arquivo .pyproj ) identifica todos os arquivos de origem e
de conteúdo associados a ele. Ele também contém informações de build de cada
arquivo, mantém as informações para integração com sistemas de controle de código-
fonte e ajuda a organizar o aplicativo em componentes lógicos.
Os projetos são sempre gerenciados em uma solução do Visual Studio. Uma solução
pode conter vários projetos que podem fazer referência uns aos outros, como um
projeto do Python que faz referência a um projeto do C++ que implementa um módulo
de extensão. Com essa relação, o Visual Studio compila automaticamente o projeto em
C++ (se for necessário) ao iniciar a depuração do projeto em Python. Para obter mais
informações, consulte Soluções e projetos no Visual Studio.
O Visual Studio fornece vários modelos de projeto do Python para criar rapidamente
vários tipos de estruturas de aplicativos. Você pode escolher um modelo para criar um
projeto em uma árvore de pastas existente ou criar um projeto limpo e vazio. Para obter
uma lista de modelos disponíveis, consulte a tabela na seção Modelos de projeto.
Dicas para trabalhar com projetos do Python
Você não precisa usar projetos para executar código do Python no Visual Studio, mas há
benefícios em fazer isso. Para começar, examine as considerações a seguir sobre como
trabalhar com projetos e o Python.
No Visual Studio 2019 e posterior, você pode abrir uma pasta com código do
Python e executar o código sem criar arquivos de projeto e solução do Visual
Studio.
As etapas guiadas para essa abordagem estão disponíveis no artigo Início Rápido:
Abrir e executar código do Python em uma pasta.
Você não precisa de um projeto para executar código do Python no Visual Studio.
Todas as versões do Visual Studio funcionam bem com códigos do Python.
Você pode abrir um arquivo do Python por conta própria e acessar imediatamente
os recursos de preenchimento automático, IntelliSense e depuração. No entanto,
há algumas possíveis desvantagens em trabalhar com o código sem um projeto:
Como o código sempre usa o ambiente global padrão, talvez você veja
preenchimentos incorretos ou erros, caso o código se destine a outro ambiente.
O Visual Studio analisa todos os arquivos e pacotes na pasta da qual o arquivo
é aberto. Esse processo pode consumir um tempo considerável de CPU.
Você pode criar um projeto do Visual Studio com base no código existente. Essa
abordagem é descrita na seção Criar um projeto com arquivos existentes.
Tarefas básicas do projeto: arquivos, ambientes
e inicialização
Ao usar projetos com seu código do Python, você realiza tarefas básicas, incluindo
adicionar arquivos, atribuir um arquivo de inicialização e definir o ambiente do
interpretador do Python.
À medida que desenvolve seu aplicativo, normalmente você precisa adicionar novos
arquivos de diferentes tipos ao projeto. É fácil adicionar arquivos. Clique com o botão
direito do mouse no projeto, selecione Adicionar>Item existente e navegue até
encontrar o tipo de arquivo a ser adicionado. A opção Adicionar>Novo Item abre uma
caixa de diálogo que mostra modelos de item que você pode usar para criar o arquivo.
As opções incluem arquivos do Python vazios, uma classe do Python, um teste de
unidade e vários arquivos relacionados a aplicativos Web. Explore as opções de modelos
com um projeto de teste para saber o que está disponível em sua versão do Visual
Studio. Para obter mais informações, veja a referência de modelos de item.
Cada projeto do Python tem um arquivo de inicialização atribuído, que é mostrado em
negrito no Gerenciador de Soluções. O arquivo de inicialização é executado quando
você começa a depuração (selecionando F5 ou Depurar>Iniciar Depuração) ou quando
você executa o projeto na Janela interativa. Você pode abrir essa janela com o atalho de
teclado Shift + Alt + F5 ou selecionando Depurar>Executar Projeto no Python
Interativo. Para alterar o arquivo de inicialização, clique com o botão direito do mouse
no arquivo que deseja usar e selecione Definir como Item de Inicialização (ou Definir
como Arquivo de Inicialização em versões mais antigas do Visual Studio).
Se você remover o arquivo de inicialização selecionado de um projeto e não selecionar
um arquivo alternativo, o Visual Studio não saberá com qual arquivo do Python usar
para iniciar o projeto. Nesse caso, o Visual Studio 2017 versão 15.6 e posteriores
mostrará um erro. Versões anteriores abrem uma janela de saída com o interpretador do
Python em execução ou a janela de saída é aberta e, em seguida, fechada
imediatamente. Se você observar algum desses comportamentos, verifique se haverá
um arquivo de inicialização atribuído.
Dica
Para manter a janela de saída aberta, clique com o botão direito do mouse em seu
projeto e selecione Propriedades. Na caixa de diálogo, selecione a guia Depurar e
adicione o sinalizador -i ao campo Argumentos do Interpretador. Esse
argumento faz com que o interpretador entre no modo interativo após a conclusão
de um programa. A janela permanece aberta até você fechá-la, como usando o
atalho de tecladoCtrl+E+Enter.
Um novo projeto sempre é associado ao ambiente global padrão do Python. Para
associar o projeto a outro ambiente (incluindo ambientes virtuais), clique com o botão
direito do mouse no nó Ambientes do Python no projeto. Selecione Adicionar
Ambiente e selecione os ambientes desejados. Você também pode usar o controle de
lista suspensa de ambientes na barra de ferramentas para selecionar outro ambiente
para o projeto.
Para alterar o ambiente ativo, clique com o botão direito do mouse no ambiente
desejado no Gerenciador de Soluções e selecione Ativar Ambiente, conforme mostrado
na imagem a seguir. Para obter mais informações, confira Selecionar um ambiente para
um projeto.
Modelos de projeto
O Visual Studio fornece muitas maneiras para configurar um projeto do Python, do zero
ou com um código existente. Para usar um modelo, selecione Arquivo>Novo>Projeto
ou clique com o botão direito do mouse na solução no Gerenciador de Soluções e
selecione Adicionar>Novo Projeto. Na caixa de diálogo novo projeto, você pode ver
modelos específicos do Python pesquisando em Python ou selecionando o nó
Linguagem>Python:
Os modelos a seguir estão disponíveis no Visual Studio versão 2022.
ノ Expandir a tabela
Modelo Descrição
Com base em Cria um projeto do Visual Studio com base em um código existente do Python
um código em uma estrutura de pastas.
existente do
Python
Aplicativo do Fornece uma estrutura de projeto básica para um novo aplicativo do Python
Python com um único arquivo de origem vazio. Por padrão, o projeto é executado no
interpretador do console do ambiente global padrão. Você pode alterar
atribuindo um ambiente diferente.
Projetos Web Projetos para aplicativos Web baseados em várias estruturas, incluindo Bottle,
Django e Flask.
Aplicativo em Dá suporte à implantação de projetos do Python a serem executados como
segundo plano serviços em segundo plano em dispositivos. Para obter mais informações,
(IoT) confira a Central de desenvolvedores de IoT do Windows .
Módulo de Esse modelo será exibido no Visual C++ se você instalar as ferramentas de
Extensão do desenvolvimento nativo do Python com a carga de trabalho do Python no
Python Visual Studio 2017 ou posteriores (consulte Instalação). O modelo fornece a
estrutura principal para uma DLL de extensão do C++, semelhante à estrutura
descrita em Criar uma extensão do C++ para Python.
7 Observação
Como o Python é uma linguagem interpretada, os projetos em Python no Visual
Studio não produzem um executável autônomo como outros projetos de
linguagem compilada, como C#. Para saber mais, confira Perguntas e respostas.
Criar um projeto com base em um código existente
Siga estas etapas para criar um projeto com arquivos existentes.
) Importante
O processo a seguir não move nem copia nenhum arquivo de origem original. Se
você quiser trabalhar com uma cópia de seus arquivos, primeiro duplique a pasta e,
em seguida, crie o projeto.
1. Inicie o Visual Studio e selecione Arquivo>Novo>Projeto.
2. Na caixa de diálogo Criar um projeto, pesquise python, selecione o modelo De
código do Python existente e Avançar.
3. Na caixa de diálogo Configurar novo projeto, insira um Nome e Local para o
projeto, escolha a solução para contê-lo e selecione Criar.
4. No assistente Criar novo projeto do código Python existente, defina o Caminho
da pasta para o código existente, defina um Filtro para tipos de arquivo e
especifique os Caminhos de pesquisa necessários para o projeto e selecione
Avançar. Se você não souber os caminhos de pesquisa, deixe o campo em branco.
5. Na próxima página, selecione o Arquivo de inicialização do projeto. O Visual
Studio seleciona o interpretador e a versão globais padrão do Python. Você pode
alterar o ambiente usando o menu suspenso. Quando estiver pronto, selecione
Próximo.
7 Observação
A caixa de diálogo mostra apenas arquivos na pasta raiz. Se o arquivo
desejado estiver em uma subpasta, deixe o arquivo de inicialização em
branco. Você pode definir o arquivo de inicialização no Gerenciador de
Soluções, conforme descrito em uma etapa posterior.
6. Selecione o local para armazenar o arquivo de projeto (um arquivo .pyproj no
disco). Caso se aplique, também será possível incluir a detecção automática de
ambientes virtuais e personalizar o projeto para outras estruturas da Web. Se você
não tiver certeza sobre essas opções, deixe os campos com as configurações
padrão.
7. Selecione Concluir.
O Visual Studio cria e abre o projeto no Gerenciador de Soluções. Se você quiser
mover o arquivo .pyproj para um local diferente, selecione o arquivo no
Gerenciador de Soluções e selecione Arquivo>Salvar comona barra de
ferramentas. Essa ação atualizará as referências de arquivo no projeto, mas não
moverá nenhum arquivo de código.
8. Para definir um arquivo de inicialização diferente, localize o arquivo no
Gerenciador de Soluções, clique com o botão direito do mouse e selecione Definir
como Arquivo de Inicialização.
Arquivos vinculados
Os arquivos vinculados são aqueles que são inseridos em um projeto, mas que
geralmente residem fora das pastas do projeto do aplicativo. Esses arquivos aparecem
no Gerenciador de Soluções como arquivos normais com um ícone de atalho
sobreposto:
Os arquivos vinculados são especificados no arquivo .pyproj usando o elemento
<Compile Include="..."> . Os arquivos vinculados serão implícitos se usarem um
caminho relativo fora da estrutura de diretório. Se os arquivos usarem caminhos no
Gerenciador de Soluções, os arquivos vinculados serão explícitos. O exemplo a seguir
mostra arquivos explicitamente vinculados:
XML
<Compile Include="..\[Link]">
<Link>MyProject\[Link]</Link>
</Compile>
Arquivos vinculados são ignorados nas seguintes condições:
O arquivo vinculado contém metadados do Link e o caminho especificado no
atributo Include reside no diretório do projeto.
O arquivo vinculado duplica um arquivo que existe na hierarquia do projeto.
O arquivo vinculado contém metadados do Link e o caminho do Link é um
caminho relativo fora da hierarquia do projeto.
O caminho do link tem raiz.
Trabalhar com arquivos vinculados
Para adicionar um item existente como um link, clique com o botão direito do mouse na
pasta do projeto em que deseja adicionar o arquivo e, em seguida, selecione
Adicionar>Item Existente. Na caixa de diálogo, selecione um arquivo e, em seguida,
selecione Adicionar>Adicionar como Link. Se não existirem arquivos conflitantes, esse
comando criará um link na pasta selecionada. No entanto, o link não será adicionado se
existir um arquivo com o mesmo nome ou se já existir um link para esse arquivo no
projeto.
Se você tentar vincular a um arquivo que já existe nas pastas do projeto, ele será
adicionado como um arquivo normal e não como um link. Para converter um arquivo
em um link, selecione Arquivo>Salvar como para salvar o arquivo em um local fora da
hierarquia do projeto. O Visual Studio converte automaticamente o arquivo em um link.
Da mesma forma, um link pode ser convertido novamente usando a opção
Arquivo>Salvar Como para salvar o arquivo em algum lugar na hierarquia do projeto.
Se você mover um arquivo vinculado no Gerenciador de Soluções, o link será movido,
mas o arquivo real não será afetado. Da mesma forma, a exclusão de um link removerá
o link sem afetar o arquivo.
Arquivos vinculados não podem ser renomeados.
Referências
Os projetos do Visual Studio dão suporte à adição de referências a projetos e extensões,
que são exibidas no nó Referências do Gerenciador de Soluções:
Geralmente, referências de extensão indicam dependências entre projetos e são usadas
para fornecer o IntelliSense em tempo de design ou a vinculação em tempo de
compilação. Os projetos do Python usam referências de maneira semelhante, mas
devido à natureza dinâmica do Python, elas são usadas principalmente em tempo de
design para fornecer um IntelliSense avançado. Elas também podem ser usadas para
implantação no Microsoft Azure para instalar outras dependências.
Trabalhar com módulos de extensão
Uma referência a um arquivo .pyd habilita o IntelliSense no módulo gerado. O Visual
Studio carrega o arquivo .pyd no interpretador do Python e examina seus tipos e suas
funções. O Visual Studio também tenta analisar as cadeias de caracteres doc em funções
para fornecer ajuda da assinatura.
Se, a qualquer momento, o módulo de extensão é atualizado em disco, o Visual Studio
analisa o módulo novamente em segundo plano. Essa ação não tem nenhum efeito no
comportamento do runtime, mas alguns preenchimentos não estarão disponíveis até
que a análise seja concluída.
Você também pode ter que adicionar um caminho de pesquisa à pasta que contém o
módulo.
Trabalhar com projetos do .NET
Ao trabalhar com o IronPython, é possível adicionar referências aos assemblies do .NET
para habilitar o IntelliSense. Em projetos do .NET, clique com o botão direito do mouse
no nó Referências em seu projeto do Python e selecione Adicionar Referência. Na caixa
de diálogo, selecione a guia Projetos e navegue até o projeto desejado. Para as DLLs
baixadas separadamente, selecione a guia Procurar e procure a DLL desejada.
Como as referências no IronPython não estão disponíveis até depois de uma chamada
ao método [Link]('<AssemblyName>') , você também precisa adicionar uma
chamada de método [Link] apropriada ao assembly. Essa chamada
normalmente é adicionada no início do código. Por exemplo, o código criado pelo
modelo de projeto Aplicativo Windows Forms do IronPython (disponível no Visual
Studio 2019) do Visual Studio inclui duas chamadas no início do arquivo:
Python
import clr
[Link]('[Link]')
[Link]('[Link]')
from [Link] import *
from [Link] import *
# Other code omitted
Trabalhar com projetos do WebPI
É possível adicionar referências a entradas de produtos do WebPI (Web Platform
Installer) para implantação nos Serviços de Nuvem do Microsoft Azure, em que é
possível instalar componentes adicionais por meio do feed do WebPI. Por padrão, o
feed exibido é específico ao Python e inclui o Django, o CPython e outros componentes
básicos. Você também pode selecionar seu feed, conforme mostrado na imagem a
seguir. Ao publicar no Microsoft Azure, uma tarefa de instalação instala todos os
produtos referenciados.
) Importante
Os projetos do WebPI não estão disponíveis no Visual Studio 2017 nem no Visual
Studio 2019.
Conteúdo relacionado
Soluções e projetos no Visual Studio
Selecionar um ambiente para um projeto
Instalar o suporte de Python no Visual Studio
Comentários
Esta página foi útil? Yes No
Modelos de projeto de aplicativo Web
Python
Artigo • 18/04/2024
O Python no Visual Studio é compatível com o desenvolvimento de projetos da Web nas
estruturas Bottle, Flask e Django por meio de modelos de projeto e um inicializador de
depuração que pode ser configurado para manipular várias estruturas. Esses modelos
incluem um arquivo [Link] para declarar as dependências necessárias. Ao criar
um projeto de um desses modelos, o Visual Studio solicita que você instale os pacotes
dependentes, conforme descrito em Requisitos de instalação posteriormente neste
artigo.
Você também pode usar o modelo genérico Projeto Web para outras estruturas, como
Pyramid. Nesse caso, nenhuma estrutura é instalada com o modelo. Em vez disso, você
instala os pacotes necessários no ambiente que está usando para o projeto. Para obter
mais informações, consulte Janela de ambientes do Python – guia Pacote.
Opções de modelo de projeto
Crie um projeto a partir de um modelo selecionando Arquivo>Novo>Projeto no menu
da barra de ferramentas. Na caixa de diálogo Criar um novo projeto, você pode filtrar a
lista de modelos para ver as opções disponíveis para projetos Web em Python. Insira os
termos-chave na caixa Pesquisar ou use os menus suspensos de filtro para selecionar
Python como a linguagem e Web como o tipo de projeto.
Depois de selecionar um modelo, forneça um nome para o projeto e para a solução e
defina opções para o diretório da solução e para o repositório Git.
O modelo genérico de Projeto Web fornece apenas um projeto vazio do Visual Studio
sem nenhum código e nenhuma suposição diferente além de ser um projeto do Python.
Os outros modelos se baseiam nas estruturas da Web Bottle, Flask ou Django e são
agrupados em três categorias, conforme descrito nas seções a seguir. Os aplicativos
criados por um desses modelos contêm código suficiente para executar e depurar o
aplicativo localmente. Cada modelo também fornece o objeto de aplicativo WSGI
necessário ([Link]) para uso com servidores da Web de produção.
Grupo em branco
Todos os modelos de Projeto Web Blank <framework>criam um projeto com código
boilerplate mais ou menos mínimo e as dependências necessárias declaradas em um
arquivo [Link].
ノ Expandir a tabela
Modelo Descrição
Projeto Web Gera um aplicativo mínimo no arquivo [Link] com uma home page do local / e
em Branco do uma página /hello/<name> que ecoa o valor <name> usando um modelo de
Bottle página embutido muito curto.
Modelo Descrição
Projeto Web Gera um projeto Django com a estrutura do site principal do Django, mas não
em Branco do aplicativos Django. Para obter mais informações, confira Modelos do Django e
Django Etapa 1 do tutorial – Conheça o Django.
Projeto Web Gera um aplicativo mínimo com um único "Olá, Mundo!" para o local / . Este
em Branco do aplicativo é semelhante ao resultado das seguintes etapas detalhadas em Início
Flask rápido: use o Visual Studio para criar seu primeiro aplicativo Web Python. Para
obter mais informações, consulte Etapa 1 do tutorial – Conheça o Flask.
Grupo da Web
Todos os modelos de Projeto Web <Framework>criam um aplicativo Web inicial com
um design idêntico, seja qual for a estrutura escolhida. O aplicativo tem as páginas
Início, Sobre e Contato, juntamente com uma barra de menus de navegação e um
design que usa a Inicialização. Cada aplicativo é configurado adequadamente para
fornecer arquivos estáticos (CSS, JavaScript e fontes) e usa um mecanismo de modelo
de página adequado para a estrutura.
ノ Expandir a tabela
Modelo Descrição
Projeto Gera um aplicativo cujos arquivos estáticos estão contidos na pasta static e são
Web do manipulados por meio do código no arquivo [Link]. O roteamento para as
Bottle páginas individuais está contido no arquivo [Link] . A pasta views contém os
modelos de página.
Projeto Gera um projeto e um aplicativo do Django com três páginas, suporte de
Web do autenticação e um banco de dados SQLite (mas nenhum modelo de dados). Para
Django obter mais informações, confira Modelos do Django e Etapa 4 do tutorial –
Conheça o Django.
Projeto Gera um aplicativo cujos arquivos estáticos estão contidos na pasta static. O
Web do código no arquivo [Link] manipula o roteamento, com modelos de página que
Flask usam o mecanismo Jinja contido na pasta templates. O arquivo [Link]
fornece o código de inicialização.
Requisitos de instalação
Ao criar um projeto com base em um modelo específico à estrutura, o Visual Studio
exibe uma caixa de diálogo para ajudar você a instalar os pacotes necessários usando o
PIP. Também recomendamos o uso de um ambiente virtual para projetos Web para
garantir que as dependências corretas sejam incluídas durante a publicação do site:
Se for usar o controle do código-fonte, normalmente, você omitirá a pasta de ambiente
virtual, pois esse ambiente poderá ser recriado usando somente o arquivo
[Link]. A melhor maneira de excluir a pasta é primeiro selecionar a opção Eu
os instalarei sozinho e desabilitar a confirmação automática antes de criar o ambiente
virtual. Para obter mais informações, confira Examinar os controles do Git no Tutorial
Aprenda Django e no Tutorial Aprenda Flask.
Ao implantar o Serviço de Aplicativo do Microsoft Azure, selecione uma versão do
Python como uma extensão de site e instalar os pacotes manualmente. Além disso,
como o Serviço de Aplicativo do Azure não instala pacotes automaticamente de um
arquivo [Link] quando implantado por meio do Visual Studio, siga os detalhes
de configuração em [Link]/PythonOnAppService.
Opções de depuração
Ao abrir um projeto Web para depuração, o Visual Studio inicia um servidor Web local
em uma porta aleatória e abre seu navegador padrão para esse endereço e porta. Para
especificar mais opções, clique com o botão direito do mouse no projeto no
Gerenciador de Soluções e selecione Propriedades. Na página Propriedades, selecione
a guia Depurar.
Há três grupos de opções de configuração comuns para depurar o projeto. O grupo
Executar inclui as seguintes propriedades:
As opções Caminhos de Pesquisa, Argumentos de Script, Caminho do
Interpretador e Argumentos do Interpretador são as mesmas da depuração
normal.
O URL de Inicialização especifica a URL que é aberta no navegador. A localização
padrão é localhost .
O Número da Porta identifica a porta a ser usada se nenhuma for especificada na
URL (o Visual Studio seleciona uma automaticamente por padrão). Essa
configuração permite substituir o valor padrão da variável de ambiente
SERVER_PORT , que é usada pelos modelos para configurar qual porta o servidor de
depuração local escuta.
A lista Ambiente define variáveis a serem definidas no processo gerado. O formato
é uma lista de pares <NAME>=<VALUE> separada por nova linha.
As propriedades nos grupos Executar Comando do Servidor e Depurar Comando do
Servidor determinam como o servidor Web é iniciado. Como muitas estruturas exigem
o uso de um script fora do projeto atual, o script pode ser configurado aqui e o nome
do módulo de inicialização pode ser passado como um parâmetro.
O Command pode ser um script do Python (arquivo *.py), um nome de módulo
(como em [Link] -m module_name ) ou uma única linha de código (como em
[Link] -c "code" ). O valor na caixa suspensa indica qual tipo é pretendido.
A lista de Argumentos é passada na linha de comando após o comando.
Novamente, a lista Ambiente define variáveis a serem estabelecidas após todas as
propriedades e que podem modificar o ambiente, como o número da porta e os
caminhos de pesquisa. Esses valores de variável podem substituir outros valores de
propriedade.
Qualquer propriedade de projeto ou variável de ambiente pode ser especificada com a
sintaxe do MSBuild, como $(StartupFile) --port $(SERVER_PORT) . $(StartupFile) é o
caminho relativo para o arquivo de inicialização e {StartupModule} é o nome importável
do arquivo de inicialização. $(SERVER_HOST) e $(SERVER_PORT) são variáveis de ambiente
normais definidas pelas propriedades URL de Inicialização e Número da Porta,
automaticamente ou pela propriedade Ambiente.
7 Observação
Os valores no Executar Comando do Servidor são usados com o comando
Debug>Start Server ou o atalho de teclado Ctrl+F5. Os valores no grupo Depurar
Comando do Servidor são usados com o comando Debug>Start Debug Server ou
F5.
Configuração do Bottle de exemplo
O modelo de Projeto Web Bottle inclui um código de texto clichê que faz a
configuração necessária. Um aplicativo importado do Bottle pode não incluir esse
código; no entanto, nesse caso, as seguintes configurações iniciam o aplicativo usando
o módulo bottle instalado:
Grupo Executar Comando do Servidor:
Comando: bottle (módulo)
Argumentos: --bind=%SERVER_HOST%:%SERVER_PORT% {StartupModule}:app
Grupo Depurar Comando do Servidor:
Comando: bottle (módulo)
Argumentos --debug --bind=%SERVER_HOST%:%SERVER_PORT% {StartupModule}:app
A opção --reload não é recomendada ao usar o Visual Studio para depuração.
Configuração de exemplo do Pyramid
Atualmente, a melhor forma de criar aplicativos do Pyramid é usando a ferramenta de
linha de comando pcreate . Depois de criar o aplicativo, ele poderá ser importado
usando o modelo Com base em um código existente do Python. Depois de terminar a
importação, selecione a personalização Projeto Web Genérico para configurar as
opções. Essas configurações presumem que o Pyramid está instalado em um ambiente
virtual no local ..\env .
Grupo Run:
Número da Porta: 6543 (ou o que estiver configurado nos arquivos .ini)
Grupo Executar Comando do Servidor:
Comando: ..\env\scripts\[Link] (script)
Argumentos: [Link]
Grupo Depurar Comando do Servidor:
Comando: ..\env\scripts\[Link] (script)
Argumentos: [Link]
Dica
Provavelmente, será necessário configurar a propriedade Diretório de Trabalho do
projeto, pois os aplicativos do Pyramid estão normalmente uma pasta abaixo da
raiz do projeto.
Outras configurações
Se você tiver configurações para outra estrutura que gostaria de compartilhar ou se
gostaria de solicitar configurações para outra estrutura, abra um problema no GitHub .
Conteúdo relacionado
Referência de modelos de item do Python
Selecionar um ambiente Python para um projeto no Visual Studio
Comentários
Esta página foi útil? Yes No
Modelos de projeto Web do Django
para o Python no Visual Studio
Artigo • 18/04/2024
O Django é uma estrutura do Python de alto nível projetada para um
desenvolvimento da Web rápido, seguro e escalonável. O suporte do Python no Visual
Studio fornece vários modelos de projeto para configurar a estrutura de um aplicativo
Web baseado em Django.
Os modelos estão disponíveis no Visual Studio em Arquivo>Novo>Projeto e incluem o
Projeto Web do Django em Branco e o Projeto Web do Django. Para obter um passo a
passo dos modelos, confira a série de tutoriais Tutorial: Introdução à estrutura da Web
do Django no Visual Studio.
Recursos do IntelliSense
O Visual Studio fornece suporte completo do IntelliSense para projetos do Django,
incluindo os seguintes recursos:
Variáveis de contexto passadas para o modelo:
Marcação e filtragem para itens internos e definidos pelo usuário:
Realce de sintaxe para elementos incorporados de CSS e JavaScript:
Suporte para depuração
O Visual Studio também fornece suporte de depuração completo para projetos do
Django:
Console de gerenciamento do Django
O console de gerenciamento do Django é acessado por meio de vários comandos no
menu Projeto ou clicando com o botão direito do mouse no projeto do Django em
Gerenciador de Soluções.
Open Django Shell: abre um shell no contexto do aplicativo que permite
manipular os modelos:
Django Sync DB: executa o comando [Link] syncdb em uma Janela Interativa:
Collect Static: executa o comando [Link] collectstatic --noinput para copiar
todos os arquivos estáticos para o caminho especificado pela variável STATIC_ROOT
no arquivo your _settings.py.
Validate: executa o comando [Link] validate , que relata todos os erros de
validação nos modelos instalados especificados pela variável INSTALLED_APPS no
arquivo [Link]:
) Importante
Projetos Django costumam ser gerenciados por meio de um arquivo [Link] e o
Visual Studio segue essa abordagem. Caso pare de usar o arquivo [Link] como
ponto de entrada, você basicamente divide o arquivo de projeto. Nesse caso você
precisa recriar o projeto usando arquivos existentes sem marcá-lo como um
projeto do Django.
Conteúdo relacionado
Tutorial: Introdução à estrutura da Web do Django no Visual Studio
Tutorial: usar o modelo Projeto Web do Django completo
Comentários
Esta página foi útil? Yes No
Criar e gerenciar ambientes Python no
Visual Studio
Artigo • 18/04/2024
Um ambiente de Python é um contexto em que você executa código Python e inclui
ambientes globais, virtuais e conda. Um ambiente é composto por um interpretador,
uma biblioteca (normalmente a Biblioteca Padrão do Python) e um conjunto de pacotes
instalados. Juntos, esses componentes determinam constructos de linguagem e sintaxe
válidos, qual funcionalidade do sistema operacional pode ser acessada e quais pacotes
podem ser usados.
No Visual Studio no Windows, use a janela Ambientes do Python, conforme descrito
neste artigo, para gerenciar ambientes e selecionar um como o padrão para novos
projetos. Outros aspectos dos ambientes são encontrados nos seguintes artigos:
Para qualquer projeto, você pode selecionar um ambiente específico em vez de
usar o padrão.
Para obter detalhes de como criar e usar ambientes virtuais para projetos Python,
confira Usar ambientes virtuais.
Se desejar instalar pacotes em um ambiente, confira a referência da guia Pacotes.
Para instalar outro interpretador do Python, confira Instalar interpretadores do
Python. Em geral, se você baixar e executar um instalador de uma distribuição
principal do Python, o Visual Studio detectará que a nova instalação e o ambiente
aparecem na janela Ambientes do Python e podem ser selecionados para
projetos.
7 Observação
Você pode gerenciar ambientes de código Python abertos como uma pasta ao
selecionar Arquivo>Abrir>Pasta. A barra de ferramentas do Python permite
alternar entre todos os ambientes detectados e também adicionar um novo
ambiente. As informações de ambiente são armazenadas no arquivo
[Link] na pasta .vs do espaço de trabalho.
Pré-requisitos
Ter uma carga de trabalho do Python instalada.
Caso esteja conhecendo agora o Python no Visual Studio, confira os seguintes artigos
para obter informações gerais:
Trabalhar com o Python no Visual Studio
Instalar o suporte de Python no Visual Studio
A janela Ambientes do Python
Os ambientes conhecidos pelo Visual Studio são exibidos na janela Ambientes Python.
Para abrir a janela, use um dos seguintes métodos:
Escolha Exibir>Outras Janelas>Ambientes do Python.
Clique com o botão direito do mouse no nó Ambientes do Python de um projeto
no Gerenciador de Soluções e escolha Exibir Todos os Ambientes do Python.
A janela Ambientes do Python é exibida com o Gerenciador de Soluções no Visual
Studio:
O Visual Studio procura por ambientes globais instalados usando o Registro (seguindo o
PEP 514 ), junto com os ambientes virtuais e os ambientes do Conda (confira Tipos de
ambientes). Se um ambiente esperado na lista não for exibido, confira Manually identify
an existing environment (Identificar manualmente um ambiente existente).
Quando você escolhe um ambiente da lista, o Visual Studio exibe diversas propriedades
e comandos para esse ambiente na guia Visão Geral da janela Ambientes do Python ,
como o local do interpretador. Os comandos na parte inferior da guia Visão Geral
abrem um prompt de comando com o interpretador em execução. Para obter mais
informações, confira Referência de guias da janela Ambientes do Python – Visão Geral.
Use a lista suspensa embaixo da lista de ambientes para alternar para diferentes guias
como Pacotes e IntelliSense. Essas guias também são descritas na Referência de guias
da janela Ambientes do Python.
A seleção de um ambiente não altera sua relação com nenhum projeto. O ambiente
padrão, mostrado em negrito na lista, é aquele que o Visual Studio usa para os novos
projetos. Para usar um ambiente diferente com os novos projetos, use o comando
Tornar este ambiente o padrão para novos projetos. No contexto de um projeto,
sempre é possível selecionar um ambiente específico. Para obter mais informações,
confira Selecionar um ambiente para um projeto.
À direita de cada ambiente listado, há um controle que abre uma janela Interativa nesse
ambiente. (No Visual Studio 2017 15.5 e versões anteriores, aparece outro controle que
atualiza o banco de dados do IntelliSense para esse ambiente. Para obter detalhes sobre
o banco de dados, consulte Referência de guias da janela Ambientes do Python.)
Dica
Ao expandir a janela Ambientes do Python até o tamanho suficiente, você obtém
uma exibição mais completa de seus ambientes, a qual pode ser mais conveniente
para trabalhar.
7 Observação
Embora o Visual Studio respeite a opção de pacotes de site do sistema, ele não
fornece uma maneira de alterá-lo no próprio Visual Studio.
E se nenhum ambiente aparecer?
Se não aparecer nenhum ambiente na janela Ambientes do Python, o Visual Studio não
terá conseguido detectar nenhuma instalação do Python nos locais padrão. Talvez você
tenha instalado o Visual Studio 2017 ou posterior, mas limpou todas as opções de
interpretador nas opções do instalador para a carga de trabalho do Python. Da mesma
forma, é possível que você tenha instalado o Visual Studio 2015 ou versões anteriores,
mas não tenha instalado um interpretador manualmente. Para obter mais informações,
confira Instalar interpretadores do Python.
Se você souber que tem um interpretador do Python no computador, mas o Visual
Studio (qualquer versão) não conseguir detectá-lo, use o comando + Personalizado
para especificar o local do interpretador manualmente. Para obter mais informações,
confira como identificar manualmente um ambiente existente.
Tipos de ambientes
O Visual Studio pode trabalhar com ambientes globais, virtuais e do Conda.
Ambientes globais
Cada instalação do Python mantém o próprio ambiente global. Por exemplo, Python 2.7,
Python 3.6, Python 3.7, Anaconda 4.4.0 e assim por diante. Para obter mais informações,
confira Instalar interpretadores do Python.
Cada ambiente é composto pelo interpretador do Python específico, sua biblioteca
padrão e por um conjunto de pacotes pré-instalados. Também contém todos os outros
pacotes instalados enquanto o ambiente está ativado. A instalação de um pacote em
um ambiente global o torna disponível para todos os projetos que usam esse ambiente.
Se o ambiente estiver em uma área protegida do sistema de arquivos (em c:\Arquivos de
Programas, por exemplo), a instalação de pacotes exigirá privilégios de administrador.
Os ambientes globais estão disponíveis para todos os projetos no computador. No
Visual Studio, selecione um ambiente global como o padrão, que é usado para todos os
projetos, a menos que você escolha especificamente um diferente para um projeto. Para
obter mais informações, confira Selecionar um ambiente para um projeto.
Ambientes virtuais
Trabalhar em um ambiente global é uma maneira fácil de começar. Com o passar do
tempo, os ambientes podem ficar confusos, com muitos pacotes diferentes instalados
para projetos diferentes. Essa desordem pode dificultar o teste completo do aplicativo
em relação a um conjunto específico de pacotes com versões conhecidas. No entanto,
esse tipo de ambiente é o que você configuraria em um servidor de build ou servidor
Web. Também poderão ocorrer conflitos quando dois projetos exigirem pacotes
incompatíveis ou versões diferentes do mesmo pacote.
Por esses motivos, os desenvolvedores geralmente criam um ambiente virtual para um
projeto. Um ambiente virtual é uma subpasta em um projeto que contém uma cópia de
um interpretador específico. Se você ativa o ambiente virtual, todos os pacotes passam
a ser instalados somente na subpasta desse ambiente. Ao executar um programa em
Python dentro do ambiente virtual, você sabe que o programa será executado apenas
nesses pacotes específicos.
O Visual Studio dá suporte direto para a criação de um ambiente virtual para um
projeto. Caso você abra um projeto que contém um arquivo [Link] , o Visual
Studio envia uma solicitação automática para criar um ambiente virtual e instalar essas
dependências. O mesmo comportamento é visto ao criar um projeto com base em um
modelo que inclui o arquivo [Link] .
A qualquer momento dentro de um projeto aberto, você pode criar um ambiente
virtual. No Gerenciador de Soluções, expanda o nó do projeto, clique com o botão
direito do mouse no nó Ambientes do Python e escolha Adicionar ambiente. Em
Adicionar Ambiente, escolha Ambiente virtual. Para obter mais informações, confira
Criar um ambiente virtual.
O Visual Studio também fornece um comando para gerar um arquivo [Link]
em um ambiente virtual, tornando mais fácil recriar o ambiente em outros
computadores. Para obter mais informações, confira Usar ambientes virtuais.
Ambientes do Conda
Você pode criar um ambiente do Conda usando a ferramenta conda , ou com o
gerenciamento do Conda integrado no Visual Studio 2017 versão 15.7 ou posterior. Um
ambiente do Conda exige Anaconda ou Miniconda. Essas plataformas são
disponibilizadas pelo instalador do Visual Studio. Para obter mais informações, confira
Instalar o suporte ao Python no Visual Studio.
1. Na janela Ambientes do Python (ou na barra de ferramentas Python), selecione
Adicionar Ambiente para abrir a caixa de diálogo Adicionar ambiente.
2. Na caixa de diálogo Adicionar ambiente, selecione a guia Ambiente do Conda:
3. Configure os seguintes campos:
ノ Expandir a tabela
Campo Descrição
Projeto Identifica o projeto em que deseja criar um ambiente.
Nome Informa o nome para o ambiente do Conda.
Adicionar Define como adicionar pacotes ao ambiente do Conda.
pacotes de - Arquivo de ambiente: escolha esta opção caso tenha um arquivo
[Link] que descreva suas dependências. Insira o nome do
arquivo ou acesse (...) o local dele e selecione-o.
- Um ou mais nomes de pacote do Anaconda: escolha esta opção caso
queira listar um ou mais pacotes do Python ou versões do Python.
A lista de pacotes instrui o conda a criar um ambiente de Python. Para
instalar a versão mais recente do Python, use o comando python . Para
instalar uma versão específica, utilize o comando python=,major>.
<minor> , como em python=3.7 . Você também pode usar o botão de
pacote para selecionar as versões do Python e pacotes comuns de uma
série de menus.
Definir como Depois que o ambiente for criado, ativa o novo ambiente no projeto
ambiente atual selecionado.
Definir como Define e ativa o ambiente do conda automaticamente em todos os
ambiente novos projetos criados no Visual Studio. Essa opção é o mesmo que
Campo Descrição
padrão para usar Tornar este o ambiente padrão para novos projetos na janela
novos projetos Ambientes do Python.
Exibir na janela Especifica se deve mostrar a janela Ambientes do Python depois de
de ambientes do criar o ambiente.
Python
) Importante
Ao criar um ambiente do Conda, especifique pelo menos uma versão do
Python ou um pacote do Python a fim de garantir que o ambiente contenha
um tempo de execução do Python. É possível usar um arquivo
[Link] ou a lista de pacotes. Se você não informar essa
especificação, o Visual Studio vai ignorar o ambiente. O ambiente não aparece
em nenhum lugar na janela Ambientes do Python, nem está definido como
ambiente atual de um projeto, nem está disponível como um ambiente
global.
Caso você crie um ambiente do Conda sem uma versão do Python, utilize o
comando conda info para conferir os locais das pastas do ambiente do
Conda. Depois, você poderá remover manualmente a subpasta do ambiente
desse local.
4. Selecione Criar.
É possível monitorar a criação do ambiente do Conda na janela Saída. Assim que
criação for concluída, a saída exibirá algumas instruções da interface de linha de
comando (CLI), como activate env :
5. No Visual Studio, é possível ativar um ambiente do Conda para um projeto da
mesma forma que você ativaria qualquer outro ambiente. Para obter mais
informações, confira Selecionar um ambiente para um projeto.
6. Para instalar mais pacotes no ambiente, utilize a guia Pacotes na janela Ambientes
do Python .
7 Observação
Para conseguir os melhores resultados com um ambiente do Conda, utilize o
Conda 4.4.8 ou versões posteriores. Lembre-se de que as versões do Conda são
diferentes das versões do Anaconda. Você pode instalar versões adequadas do
Miniconda (Visual Studio 2019 e Visual Studio 2022) e Anaconda (Visual Studio
2017) pelo instalador do Visual Studio.
Para ver a versão do Conda, na qual os ambientes do Conda são armazenados, bem
como outras informações, execute o comando conda info em um prompt de comando
do Anaconda (ou seja, um prompt de comando no qual o Anaconda está no caminho):
Console
conda info
As pastas de ambiente do conda são exibidas da seguinte maneira:
Saída
envs directories : C:\Users\user\.conda\envs
c:\anaconda3\envs
C:\Users\user\AppData\Local\conda\conda\envs
Como os ambientes do Conda não são armazenados com um projeto, eles se
comportam da mesma forma que os ambientes globais. Por exemplo, a instalação de
um novo pacote em um ambiente do Conda torna esse pacote disponível para todos os
projetos que usam esse ambiente.
Para o Visual Studio 2017 versão 15.6 e anterior, você pode usar ambientes do Conda
apontando-os manualmente, conforme descrito em Identificar manualmente um
ambiente existente.
O Visual Studio 2017 versão 15.7 e posterior detecta ambientes do conda
automaticamente e exibe-os na janela Ambientes do Python, conforme descrito na
próxima seção.
Identificar manualmente um ambiente
existente
Use as etapas a seguir para identificar um ambiente instalado em um local não padrão.
1. Na janela Ambientes do Python (ou na barra de ferramentas Python), selecione
Adicionar Ambiente para abrir a caixa de diálogo Adicionar ambiente.
2. Na guia Ambiente existente da caixa de diálogo Adicionar ambiente, ajuste o
campo Ambiente como <Personalizado>:
Após selecionar o valor <Personalizado> , mais campos serão adicionados à caixa
de diálogo.
3. Ajuste o campo Caminho do prefixo como o caminho do interpretador. É possível
ajustar o campo acessando (...) o local do caminho.
4. Após escolher o caminho, os campos restantes serão preenchidos. Revise os
valores e modifique o que for necessário. Quando terminar, selecione Adicionar.
Você também pode examinar e modificar detalhes do ambiente a qualquer momento na
janela Ambientes do Python.
1. Na janela Ambientes do Python, selecione o ambiente e escolha a guia
Configurar.
2. Depois de fazer alterações, selecione o comando Aplicar.
Também é possível remover um ambiente usando o comando Remover . Para obter
mais informações, consulte a guia Configurar. Este comando não está disponível para
ambientes com detecção automática.
Corrigir ou excluir ambientes inválidos
Se o Visual Studio encontra entradas do Registro para um ambiente, mas o caminho
para o interpretador é inválido, a janela Ambientes do Python exibe o nome do
ambiente em um formato de fonte riscada, conforme mostra a imagem a seguir:
Para corrigir um ambiente que você deseja manter, primeiro tente usar o processo
Reparar do instalador desse ambiente. Grande parte dos instaladores inclui uma opção
para reparar.
Modificar o registro para corrigir um ambiente
Se o ambiente do Python não tiver uma opção para reparar ou se você quiser remover
um ambiente inválido, poderá usar as etapas a seguir para modificar o Registro
diretamente. O Visual Studio atualiza automaticamente a janela Ambientes do Python
quando você faz alterações no Registro.
1. Execute o executável [Link] para abrir o Editor do Registro.
2. Acesse a pasta do ambiente correspondente à sua configuração:
ノ Expandir a tabela
Versão do Pasta
Python
Versão de HKEY_LOCAL_MACHINE\SOFTWARE\Python or
64 bits HKEY_CURRENT_USER\Software\Python
Versão de HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Python
32 bits
IronPython IronPython
3. Expanda a estrutura de nós de distribuições e versões do ambiente:
ノ Expandir a tabela
Distribuição Nó
CPython PythonCore><Nó da versão>
Anaconda ContinuumAnalytics><Nó da versão>
IronPython <Nó da versão>
4. Inspecione os valores no nó InstallPath:
Se o ambiente ainda existir no computador, altere o valor da entrada
ExecutablePath para o local correto. Corrija também os valores das entradas
(Padrão) e WindowedExecutablePath, conforme necessário.
Se o ambiente não existir mais no computador e você desejar removê-lo da
janela Ambientes do Python, exclua o nó pai do número da versão do nó de
InstallPath. A imagem anterior apresenta um exemplo desse nó. No exemplo,
esse nó é 3.6.
U Cuidado
Configurações inválidas na chave HKEY_CURRENT_USER\SOFTWARE\Python
substituem as configurações na chave
HKEY_LOCAL_MACHINE\SOFTWARE\Python.
Excluir ou remover um ambiente Python
Se quiser remover um projeto do Python, acesse o ambiente do Python no Gerenciador
de Soluções. Clique com o botão direito do mouse no ambiente do Python que deseja
remover e selecione Remover.
Caso queira manter o ambiente do Python e apenas removê-lo de um projeto, escolha
Remover. Se preferir excluir o ambiente de forma permanente, escolha Excluir.
Conteúdo relacionado
Instalar interpretadores do Python
Selecionar um interpretador para um projeto
Use [Link] para dependências
Caminhos de pesquisa
Referência da janela de ambientes do Python
Comentários
Esta página foi útil? Yes No
Selecionar um ambiente Python para
um projeto no Visual Studio
Artigo • 18/04/2024
Todo o código em um projeto do Python é executado dentro do contexto de um
ambiente específico. Esses ambientes podem ser um ambiente global do Python, um
ambiente do Anaconda, um ambiente virtual ou um ambiente do Conda. O Visual
Studio utiliza o ambiente do Python para depuração, importação, conclusão de
membros e verificação de sintaxe. O ambiente é utilizado para todas as tarefas que
exijam serviços de linguagem específicos da versão do Python e um conjunto de
pacotes instalados.
No Visual Studio, é possível criar vários ambientes para um projeto e alternar entre eles
conforme as suas necessidades específicas de desenvolvimento. Novos projetos do
Python são inicialmente configurados para utilizar o ambiente global padrão. É possível
conferir os ambientes de um projeto no nó Ambientes do Python no Gerenciador de
Soluções:
Pré-requisitos
Visual Studio. Para instalar o produto, siga as etapas em Instalar o Visual Studio.
Só é possível alternar entre ambientes existentes. Caso você não tenha outro
ambiente além do ambiente global padrão, consulte as seções a seguir para
aprender a trabalhar com ambientes virtuais. Para obter mais informações,
consulte Criar e gerenciar ambientes do Python no Visual Studio.
Trocar o ambiente do projeto atual
No Visual Studio, é possível trocar o ambiente ativo (atual) de um projeto do Python
pelo Gerenciador de Soluções ou pela barra de ferramentas utilizando a funcionalidade
Adicionar Ambiente.
1. Inicie o processo para Adicionar Ambiente:
No Gerenciador de Soluções, clique com o botão direito do mouse no nó
Ambientes do Python referente ao seu projeto e escolha Adicionar
Ambiente.
Como alternativa, na barra de ferramentas do Python, selecione Adicionar
Ambiente no menu suspenso Ambiente.
2. Na caixa de diálogo Adicionar Ambiente, escolha a guia Ambiente existente.
Expanda a lista suspensa Ambiente, selecione um ambiente e escolha Adicionar.
7 Observação
Se o ambiente que você quiser utilizar não estiver listado, poderá ser necessário
identificar manualmente um ambiente existente.
Usar ambientes virtuais
Um ambiente virtual é uma combinação exclusiva de um interpretador específico do
Python e um conjunto específico de bibliotecas que é diferente de outros ambientes
globais e do Conda. Um ambiente virtual é específico para um projeto e é mantido em
uma subpasta do projeto. A pasta contém as bibliotecas instaladas do ambiente e um
arquivo [Link] que especifica o caminho do interpretador de base do ambiente no
sistema de arquivos. (Um ambiente virtual não contém uma cópia do interpretador,
apenas um link para ele.)
Um dos benefícios do uso de um ambiente virtual é que, à medida que você desenvolve
um projeto, o ambiente virtual sempre reflete as dependências exatas do projeto. Esse
comportamento é diferente de um ambiente global compartilhado, que contém
qualquer quantidade de bibliotecas, independentemente de você utilizá-las ou não no
projeto. Em um ambiente virtual, é possível criar facilmente um arquivo [Link],
que é usado para reinstalar as dependências do pacote em outros computadores de
desenvolvimento ou produção. Para saber mais, confira Gerenciar pacotes necessários
com [Link].
Quando você abre um projeto no Visual Studio que contém um arquivo
[Link], o Visual Studio oferece automaticamente a opção de recriar o
ambiente virtual. Em computadores em que o Visual Studio não está instalado, você
pode usar o comando pip install -r [Link] para restaurar os pacotes
necessários.
Como um ambiente virtual contém um caminho embutido em código para o
interpretador de base do Python e é possível recriar o ambiente usando o arquivo
[Link], normalmente você omite a subpasta do ambiente no controle do
código-fonte. Depois de adicionar um ambiente virtual ao projeto, ele será exibido na
janela Ambientes do Python. Você pode ativá-lo como qualquer outro ambiente e
gerenciar seus pacotes.
Criar um ambiente virtual
Você pode criar um novo ambiente virtual diretamente no Visual Studio da seguinte
maneira:
1. Inicie o processo para Adicionar Ambiente:
No Gerenciador de Soluções, clique com o botão direito do mouse no nó
Ambientes do Python referente ao seu projeto e escolha Adicionar
Ambiente.
Como alternativa, na barra de ferramentas do Python, selecione Adicionar
Ambiente no menu suspenso Ambiente.
2. Na caixa de diálogo Adicionar Ambiente, selecione a guia Ambiente virtual:
3. Defina os campos obrigatórios:
ノ Expandir a tabela
Campo Descrição
obrigatório
Projeto Identifique o projeto em que deseja criar um ambiente.
Nome Informe um nome para o novo ambiente virtual.
Interpretador Determine o interpretador da linguagem de base do ambiente virtual.
de base
Localidade O local padrão é atribuído ao ambiente virtual pelo sistema. Se quiser
trocar o local, escolha o link Alterar local do ambiente virtual, acesse o
local e selecione Selecionar pasta.
4. Defina todos os campos opcionais desejados:
ノ Expandir a tabela
Campo opcional Descrição
Instalar pacotes Determine o caminho para um arquivo [Link] a fim de
usando o arquivo adicionar pacotes ao ambiente virtual. Insira o local e o nome do
arquivo ou acesse (...) o local dele e selecione-o.
Campo opcional Descrição
Definir como Depois que o ambiente for criado, ative o novo ambiente no projeto
ambiente atual selecionado.
Definir como Defina e ative o ambiente automaticamente em todos os novos
ambiente padrão projetos criados no Visual Studio. Essa configuração também está
para novos disponível pela opção Tornar este o ambiente padrão para novos
projetos projetos na janela Ambientes do Python. Ao usar essa opção,
coloque o ambiente virtual em um local fora de um projeto
específico.
Exibir na janela de Especifique se deseja mostrar a janela Ambientes do Python depois
ambientes do de criar o ambiente.
Python
Tornar esse Especifique se o ambiente virtual também deve atuar como um
ambiente ambiente global. Ao usar essa opção, coloque o ambiente virtual em
disponível um local fora de um projeto específico.
globalmente
5. Selecione Criar para finalizar o ambiente virtual.
O Visual Studio exibe uma barra de progresso enquanto configura o ambiente, e baixa
todos os pacotes necessários.
Depois que o processo for concluído, o Visual Studio ativará o novo ambiente virtual e o
adicionará ao nó Ambientes do Python no Gerenciador de Soluções. O ambiente
também pode ser encontrado na janela Ambientes do Python para o projeto contido.
Ativar um ambiente
Para ativar um ambiente existente em um projeto, realize as seguintes etapas:
1. No Gerenciador de Soluções, expanda o nó Ambientes do Python do projeto e
encontre o ambiente que deseja utilizar.
2. Clique com o botão direito do mouse no ambiente e selecione Ativar Ambiente.
Se o Visual Studio detectar um arquivo [Link] nesse ambiente, ele
perguntará se deve instalar esses pacotes.
Após a ativação do ambiente pelo Visual Studio, o nome do ambiente ativo
aparece em negrito no Gerenciador de Soluções:
Remover um ambiente virtual
Para remover um ambiente existente em um projeto, realize as seguintes etapas:
1. No Gerenciador de Soluções, clique com o botão direito do mouse no ambiente
virtual e escolha Remover.
2. O Visual Studio pergunta se você quer remover ou excluir o ambiente virtual.
Selecione Remover para tornar o ambiente indisponível ao projeto, mas
mantê-lo no sistema de arquivos.
Selecione Excluir para remover o ambiente do projeto e excluí-lo do sistema
de arquivos. O interpretador de base não é afetado.
Visualizar e gerenciar os pacotes instalados
No Gerenciador de Soluções, é possível visualizar e gerenciar todos os pacotes
instalados em um ambiente. Você pode importar esses pacotes e utilizá-los no código
quando o ambiente estiver ativo.
Para visualizar rapidamente todos os pacotes instalados em um ambiente, expanda
o nó do ambiente no nó Ambientes do Python do respectivo projeto no
Gerenciador de Soluções:
Se quiser instalar novos pacotes ou gerenciar pacotes existentes, clique com o
botão direito do mouse no nó do ambiente e escolha Gerenciar Pacotes do
Python. Também é possível utilizar o botão de pacotes na barra de ferramentas do
Python:
A janela Ambientes do Python é exibida, mostrando todos os pacotes instalados
no ambiente selecionado na guia Pacotes (PyPI):
No Visual Studio, os pacotes e as dependências da maioria dos ambientes são
baixados do Índice de Pacotes do Python (PyPI) , onde você também pode
pesquisar os pacotes disponíveis. A barra de status e a janela de saída do Visual
Studio mostram informações sobre a instalação.
Se quiser desinstalar (remover) um pacote, encontre-o na lista e escolha o ícone de
x à direita dele.
Para conferir se há versões atualizadas de um pacote ou pesquisar outros pacotes,
insira um termo de pesquisa (em geral, um nome de pacote):
O Visual Studio exibirá todos os pacotes correspondentes. Este exemplo mostra
uma busca por pacotes com o termo blinker.
O Visual Studio exibe uma lista de todos os resultados correspondentes na forma
de links de comando ativos.
O primeiro comando atualiza o pacote para a versão e as dependências mais
recentes. O comando é semelhante a Run command: pip install <package-name> .
Se você pressionar Enter depois do termo da pesquisa, o Visual Studio
executará automaticamente o primeiro comando.
Os outros links referem-se a comandos que instalam um pacote, uma versão ou
uma dependência específica, como Install blinker-async (0.0.3) . Escolha o
respectivo link para executar um desses comandos.
Considerações sobre a instalação de pacotes
Ao trabalhar com pacotes no Visual Studio, lembre-se das seguintes considerações:
As entradas exibidas para os pacotes podem não ser precisas no que se refere à
versão mais recente ou à disponibilidade. As informações de instalação e
desinstalação exibidas para determinado pacote podem não ser confiáveis ou
podem não estar disponíveis.
O Visual Studio usa o gerenciador de pacotes do PIP, se disponível, e o baixa e o
instala quando necessário. O Visual Studio também pode usar o gerenciador de
pacotes easy_install. Os pacotes instalados usando os comandos pip ou
easy_install por meio da linha de comando também são exibidos.
Uma situação comum em que o PIP não conseguirá instalar um pacote ocorrerá
quando o pacote incluir o código-fonte para componentes nativos em arquivos
*.pyd. Sem a versão necessária do Visual Studio instalada, o PIP não pode compilar
esses componentes. A mensagem de erro exibida nessa situação é erro: Não foi
possível localizar [Link]. O comando easy_install geralmente consegue
baixar os binários pré-compilados, e você pode baixar um compilador adequado
para versões mais antigas do Python em
[Link] . Para obter mais
informações, consulte Como lidar com o problema “Não é possível localizar
vcvarsallbat” no blog da equipe das ferramentas do Python.
O gerenciador de pacotes conda geralmente usa [Link]
como padrão de canal, mas há outros canais disponíveis. Para obter mais
informações, consulte Gerenciar Canais ([Link]).
O Visual Studio ainda não oferece suporte ao uso do comando conda para instalar
pacotes em um ambiente do Conda. Em vez disso, use o comando conda da linha
de comando.
Conteúdo relacionado
Gerenciar ambientes do Python no Visual Studio
Usar [Link] para dependências
Caminhos de pesquisa
Referência da janela de ambientes do Python
Comentários
Esta página foi útil? Yes No
Gerenciar os pacotes do Python
necessários com [Link]
Artigo • 18/04/2024
Caso você compartilhe um projeto do Python com outras pessoas ou use um sistema de
compilação com o intuito de produzir o aplicativo em Python, precisará especificar
todos os pacotes externos necessários. Ao planejar copiar o projeto para outros locais
necessários para restaurar um ambiente, também é preciso definir os pacotes
dependentes necessários.
A abordagem recomendada para especificar pacotes externos dependentes do Python é
o uso de um arquivo de requisitos ([Link]). Esse arquivo oferece uma lista
de comandos do PIP que instalam todas as versões necessárias dos pacotes
dependentes para o projeto. O comando mais comum é pip freeze >
[Link] . Esse comando registra a lista de pacotes atuais do ambiente no
arquivo [Link] .
Um arquivo de requisitos contém versões precisas de todos os pacotes instalados. É
possível utilizar arquivos de requisitos para congelar os requisitos de um ambiente. Ao
utilizar versões precisas dos pacotes, você conseguirá reproduzir facilmente seu
ambiente em outra máquina. O arquivo de requisitos inclui até os pacotes instalados
com uma série de versões, como uma dependência de outro pacote ou com um
instalador que não seja o PIP.
Pré-requisitos
Ter o Visual Studio instalado e compatível com cargas de trabalho do Python. Para
obter mais informações, confira Instalar o suporte ao Python no Visual Studio.
Um arquivo de requisitos. É possível utilizar um arquivo de requisitos existente ou
gerar um arquivo, conforme as instruções descritas neste artigo.
Tecnicamente, é possível utilizar qualquer nome de arquivo para rastrear os requisitos.
Entretanto, o Visual Studio oferece suporte específico ao arquivo de requisitos chamado
“[Link]”. Utilize o argumento -r <full path to file> ao instalar um pacote
com o intuito de especificar um nome de sua preferência para o arquivo.
Instalar as dependências listadas em
[Link]
Caso carregue um projeto com um arquivo [Link] , você pode instalar todas
as dependências de pacote listadas no arquivo.
1. No Gerenciador de Soluções, expanda o projeto, depois expanda o nó Ambientes
do Python.
2. Encontre o nó do ambiente no qual deseja instalar os pacotes. Clique com o botão
direito do mouse no nó e escolha Instalar do [Link].
3. Você pode monitorar o processo de instalação dos pacotes na janela Saída:
A saída lista todos os pacotes necessários que foram instalados e todas as
atualizações necessárias para os comandos do PIP afetados, bem como a
disponibilidade de versões do PIP mais recentes.
Instalar as dependências em um ambiente
virtual
Também é possível instalar as dependências de pacotes do Python em um ambiente
virtual existente.
1. No Gerenciador de Soluções, expanda o projeto, depois expanda o nó Ambientes
do Python.
2. Encontre o nó do ambiente virtual no qual deseja instalar os pacotes. Clique com o
botão direito do mouse no nó e escolha Instalar do [Link].
Caso precise criar um ambiente virtual, consulte Usar ambientes virtuais.
Gerar o arquivo [Link]
Se todos os pacotes do Python necessários ao projeto já estiverem instalados em um
ambiente, você poderá gerar o arquivo [Link] no Visual Studio.
1. No Gerenciador de Soluções, expanda o projeto, depois expanda o nó Ambientes
do Python.
2. Encontre o nó do ambiente para o qual deseja gerar o arquivo de requisitos.
Clique com o botão direito do mouse no nó e escolha Gerar o [Link].
Atualizar ou adicionar as entradas de um
arquivo [Link] existente
Se o arquivo [Link] já existir, o Visual Studio exibirá uma solicitação com
diversas opções:
Substituir o arquivo inteiro: substitui todos os itens, comentários e opções
definidos no arquivo [Link] .
Atualizar as entradas existentes: atualiza os especificadores de versão no arquivo
[Link] para que correspondam à versão instalada atualmente.
Atualizar e adicionar entradas: atualiza os requisitos existentes no arquivo
[Link] e acrescenta todos os novos requisitos de pacotes ao final do
arquivo.
O Visual Studio executa o pip a fim de detectar os requisitos atuais de pacotes para o
ambiente, depois atualiza o arquivo [Link] com base na sua seleção.
Instalar manualmente as dependências de
pacotes
Se o PIP não instalar uma dependência de pacote definida no arquivo [Link] ,
toda a instalação falhará.
Há duas opções para resolver esse problema:
Edite manualmente o arquivo [Link] a fim de excluir o pacote com
falha, depois execute o processo de instalação novamente.
Use as opções de comando do PIP para fazer referência a uma versão instalável
do pacote.
Atualizar o arquivo de requisitos com pip wheel
Caso use o comando pip wheel para compilar uma dependência, você poderá
adicionar a opção --find-links <path> ao arquivo [Link] .
1. Chame o comando pip wheel a fim de compilar a lista de dependências
necessárias:
Console
pip wheel azure
A saída mostra os wheels compilados para os pacotes coletados:
Saída
Downloading/unpacking azure
Running [Link] (path:C:\Project\env\build\azure\[Link])
egg_info for package azure
Building wheels for collected packages: azure
Running [Link] bdist_wheel for azure
Destination directory: c:\project\wheelhouse
Successfully built azure
Cleaning up...
2. Acrescente as opções find-links e no-index com o requisito de versão do pacote
ao arquivo [Link] :
Console
type [Link]
--find-links wheelhouse
--no-index
azure==0.8.0
3. Execute o processo de instalação do PIP com o arquivo de requisitos atualizado:
Console
pip install -r [Link] -v
A saída monitora o progresso do processo de instalação:
Saída
Downloading/unpacking azure==0.8.0 (from -r [Link] (line 3))
Local files found: C:/Project/wheelhouse/azure-0.8.0-py3-none-
[Link]
Installing collected packages: azure
Successfully installed azure
Cleaning up...
Removing temporary dir C:\Project\env\build...
Conteúdo relacionado
Gerenciar ambientes do Python no Visual Studio
Selecionar um interpretador para um projeto
Caminhos de pesquisa
Referência da janela de ambientes do Python
Comentários
Esta página foi útil? Yes No
Utilizar pastas do Python em caminhos
de pesquisa do Visual Studio
Artigo • 18/04/2024
Em um programa típico do Python, a variável de ambiente PYTHONPATH (ou
IRONPYTHONPATH etc.) fornece o caminho de pesquisa padrão para arquivos de módulo.
As instruções from <name> import... or import <name> ordenam que o Python pesquise
os locais específicos em busca de arquivos que correspondam à especificação de
<name> . Os locais são pesquisados na seguinte ordem:
1. Módulos internos do Python
2. A pasta que contém o código do Python que está em execução.
3. O “caminho de pesquisa do módulo”, conforme definido pela variável de ambiente
aplicável. Para obter mais informações, consulte as seções The Module Search
Path e Environment variables na documentação básica do Python.
O Visual Studio ignora a variável de ambiente do caminho de pesquisa, mesmo quando
ela tiver sido configurada para todo o sistema. Isso acontece porque a utilização da
variável levanta questões que não são simples de responder, como:
Os módulos referenciados esperam uma instalação do Python 2.7, do Python 3.6 ou
de outra versão?
Os arquivos na variável de ambiente do caminho de pesquisa devem substituir os
módulos de biblioteca padrão?
Algum comportamento de substituição é esperado e abordado ou é possível que a
ação seja maliciosa?
Para auxiliar os desenvolvedores, o Visual Studio fornece uma forma de especificar
caminhos de pesquisa diretamente nos projetos e ambientes do Python. O código que
você executa ou depura no Visual Studio recebe os caminhos da variável de ambiente
PYTHONPATH e da variável equivalente. Com a adição de caminhos de pesquisa, o Visual
Studio inspeciona as bibliotecas nos locais especificados e cria bancos de dados do
IntelliSense para as bibliotecas, conforme a necessidade. (No Visual Studio 2017 versão
15.5 e anteriores, a construção do banco de dados pode demorar um pouco,
dependendo da quantidade de bibliotecas).
Pré-requisitos
Visual Studio. Para instalar o produto, siga as etapas em Instalar o Visual Studio.
As pastas do Python que deseja adicionar aos caminhos de pesquisa.
Adicionar pastas do Python aos caminhos de
pesquisa
Siga essas etapas para adicionar pastas do Python aos caminhos de pesquisa do Visual
Studio:
1. No Gerenciador de Soluções, expanda o nó do projeto do Python, clique com o
botão direito do mouse em Caminhos de Pesquisa e selecione Adicionar Pasta ao
Caminho de Pesquisa:
2. Na caixa de diálogo, acesse o local da pasta que deseja adicionar aos caminhos de
pesquisa reconhecidos.
3. Escolha a pasta e selecione Selecionar pasta.
Depois que as pastas forem adicionadas aos caminhos de pesquisa, o Visual Studio
usará esses caminhos para qualquer ambiente associado ao projeto.
7 Observação
Se o seu ambiente for baseado no Python 3 e você tentar adicionar um caminho de
pesquisa a módulos do Python 2.7, poderão ocorrer erros.
Adicionar arquivos zip e egg aos caminhos de
pesquisa
É possível adicionar arquivos com extensão .zip ou .egg aos caminhos de pesquisa
usando a opção Adicionar Arquivo Zip ao Caminho de Pesquisa. Assim como ocorre
com pastas, o conteúdo desses arquivos é examinado e disponibilizado para o
IntelliSense.
Conteúdo relacionado
Gerenciar ambientes do Python no Visual Studio
Selecionar um interpretador para um projeto
Use [Link] para dependências
Referência da janela de ambientes do Python
Comentários
Esta página foi útil? Yes No
Referência as guias da janela Ambientes
do Python
Artigo • 19/06/2023
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
Para abrir a janela Ambientes de Python:
Selecione o comando de menu Exibir>Outras Janelas>Ambientes do Python.
Clique com o botão direito do mouse no nó Ambientes do Python de um projeto
no Gerenciador de Soluções e escolha Exibir Todos os Ambientes do Python.
Se você expandir a janela Ambientes do Python até um tamanho grande o suficiente,
essas opções serão mostradas como guias, o que talvez você considere mais
conveniente para trabalhar. Para maior clareza, as guias neste artigo são mostradas na
exibição expandida.
Guia Visão Geral
Fornece informações básicas e comandos para o ambiente:
Comando Descrição
Tornar este Definir o ambiente ativo, o que pode fazer com que o Visual Studio (2017 versão
ambiente 15.5 e anteriores) pare de responder brevemente enquanto carrega o banco de
padrão dados do IntelliSense. Ambientes com muitos pacotes podem parar de responder
para novos por um período maior.
projetos
Visitar o Abre um navegador para a URL fornecida para a distribuição de Python. Python 3.
site do x, por exemplo, vai para [Link].
distribuidor
Abrir a Abre a janela interativa (REPL) para esse ambiente dentro do Visual Studio,
janela aplicando quaisquer scripts de inicialização (veja abaixo).
interativa
Explorar Veja os scripts de inicialização.
scripts
interativos
Usar o Quando definido, abre a janela Interativa com IPython por padrão. Isso habilita os
modo gráficos embutidos e a sintaxe estendida do IPython como name? para exibir a
interativo ajuda e !command para comandos shell. Essa opção é recomendada quando estiver
do IPython usando uma distribuição Anaconda, pois ela requer pacotes extras. Para obter mais
informações, confira Usar o IPython na Janela Interativa.
Abrir no Inicia o interpretador em uma janela de comando do PowerShell.
PowerShell
(Links de Os interpretadores [Link] e [Link] fornecem acesso rápido à pasta de
pasta e do instalação do ambiente. O primeiro abre no Windows Explorer, os dois últimos
programa) abrem uma janela do console.
Scripts de inicialização
Como você janelas interativas no fluxo de trabalho diário, provavelmente desenvolverá
funções auxiliares que você usa regularmente. Por exemplo, você pode criar uma função
que abre um DataFrame no Excel e, em seguida, salva esse código como um script de
inicialização para que ele esteja sempre disponível na janela Interativa.
Os scripts de inicialização contêm o código que a janela Interativa carrega e executa
automaticamente, incluindo importações, definições de função e literalmente qualquer
outra coisa. Esses scripts são referenciados de duas maneiras:
1. Quando você instala um ambiente, o Visual Studio cria uma pasta
Documents\Visual Studio <versão>\Python Scripts\<ambiente>, em que <versão>
é a versão do Visual Studio (como 2017 ou 2019) e <ambiente> corresponde ao
nome do ambiente. Você pode navegar facilmente para a pasta específica do
ambiente com o comando Explorar scripts interativos. Quando você inicia a janela
Interativa para esse ambiente, ela carrega e executa qualquer arquivo .py que for
encontrado aqui em ordem alfabética.
2. O controle Scripts na guia Ferramentas>Opções>Python>Janelas Interativas
(confira Opções de janelas Interativas) destina-se a especificar uma pasta adicional
para os scripts de inicialização que estão carregados e são executados em todos os
ambientes. No entanto, esse recurso não funciona no momento.
Guia Configurar
Se estiver disponível, a guia Configurar conterá detalhes, conforme descrito na tabela
abaixo. Se essa guia não estiver presente, isso significa que o Visual Studio está
gerenciando todos os detalhes automaticamente.
Campo Descrição
Descrição O nome a ser fornecido para o ambiente.
Caminho do A localização da pasta base do interpretador. Ao preencher esse valor e clicar em
prefixo Detecção Automática, o Visual Studio tenta preencher os outros campos para
você.
Caminho do O caminho para o executável do interpretador, normalmente, o caminho do
interpretador prefixo seguido por [Link]
Interpretador O caminho para o executável que não é de console, geralmente, é o caminho do
em janelas prefixo seguido por [Link].
Caminho da Especifica a raiz da biblioteca padrão, mas esse valor poderá ser ignorado se o
biblioteca Visual Studio conseguir solicitar um caminho mais preciso do interpretador.
(se estiver
disponível)
Versão da Selecionada no menu suspenso.
linguagem
Arquitetura Normalmente, detectada e preenchida automaticamente. Caso contrário,
especifica 32 bits ou 64 bits.
Variável de A variável de ambiente que o interpretador usa para encontrar caminhos de
ambiente do pesquisa. O Visual Studio altera o valor da variável ao iniciar o Python, para que
caminho ela contenha os caminhos de pesquisa do projeto. Normalmente, essa
propriedade deve ser definida como PYTHONPATH, mas alguns interpretadores
usam outro valor.
Guia Pacotes
Também chamada de "pip" em versões anteriores.
Gerencia os pacotes instalados no ambiente usando pip (a guia Pacotes (PyPI)) ou o
conda (a guia Pacotes (Conda), para ambientes do conda no Visual Studio 2017 versão
15.7 e posteriores). Nessa guia, você também pode procurar e instalar novos pacotes,
incluindo as dependências dele.
Os pacotes que já estão instalados são exibidos com controles para atualizar (uma seta
para cima) e desinstalar (X em um círculo) o pacote:
Inserir um termo de pesquisa filtra a lista de pacotes instalados, bem como os pacotes
que podem ser instalados do PyPI.
Como você pode ver na imagem acima, os resultados da pesquisa mostram vários
pacotes que correspondem ao termo da pesquisa. A primeira entrada na lista, no
entanto, é um comando para executar pip install <name> diretamente. Caso esteja na
guia Pacotes (Conda), você verá conda install <name>:
Em ambos os casos, você pode personalizar a instalação pela adição de argumentos na
caixa de pesquisa após o nome do pacote. Quando você inclui argumentos, os
resultados da pesquisa mostram pip install ou conda install seguido do conteúdo da
caixa de pesquisa:
Instalar um pacote cria subpastas dentro da pasta Lib do ambiente no sistema de
arquivos. Por exemplo, se você tiver Python 3.6 instalado em c:\Python36, os pacotes
são instalados em c:\Python36\Lib, se você tiver o Anaconda3 instalado em c:\Program
Files\Anaconda3, os pacotes serão instalados em c:\Program Files\Anaconda3\Lib. Nos
ambientes do conda, os pacotes são instalados na pasta do ambiente.
Conceder privilégios de administrador à instalação do
pacote
Ao instalar os pacotes em um ambiente que está localizado em uma área protegida do
sistema de arquivos, como c:\Program Files\Anaconda3\Lib, o Visual Studio deve
executar pip install com privilégios elevados para permitir que ele crie subpastas do
pacote. Quando a elevação é necessária, o Visual Studio exibe o prompt Podem ser
necessários privilégios de administrador para instalar, atualizar ou remover pacotes
para esse ambiente:
Elevar agora concede privilégios administrativos para executar o PIP para uma única
operação, sujeita também a qualquer prompt de permissão do sistema operacional.
Escolher Continuar sem privilégios de administrador tenta instalar o pacote, mas o PIP
falha ao tentar criar pastas com uma saída como erro: não foi possível criar
'C:\Arquivos de Programas\Anaconda3\Lib\site-packages\[Link]': permissão negada.
Selecionar Sempre elevar ao instalar o u remover pacotes impede que a caixa de
diálogo apareça para o ambiente em questão. Para fazer a caixa de diálogo aparecer
novamente, vá para Ferramentas>Opções>Python>Geral e escolha o botão Redefinir
todas as caixas de diálogo permanentemente ocultas.
Nessa mesma guia de Opções, você também pode escolher Sempre executar o PIP
como administrador para suprimir a caixa de diálogo para todos os ambientes.
Consulte Opções – guia Geral.
Restrições de segurança com versões mais antigas do
Python
Ao usar o Python 2.6, 3.1 e 3.2, o Visual Studio mostra o aviso Devido a restrições de
segurança, a instalação por meio da Internet pode não funcionar nesta versão do
Python:
O motivo para o aviso é que, com essas versões mais antigas do Python, pip install
não dá suporte para o protocolo TLS 1.2, que é necessário para baixar pacotes da
origem do pacote, [Link]. Builds personalizados do Python talvez sejam compatíveis
com TLS 1.2 e, nesse caso, pip install poderá funcionar.
É possível baixar o [Link] apropriado para um pacote em [Link] , fazer
o download manual de um pacote em [Link] e, em seguida, instalar o pacote dessa
cópia local.
No entanto, a recomendação é apenas atualizar para uma versão recente do Python;
nesse caso, o aviso não é exibido.
Confira também
Gerenciar ambientes do Python no Visual Studio
Selecionar um interpretador para um projeto
Usar [Link] para dependências
Caminhos de pesquisa
Configurar aplicativos Web do Python
para o IIS
Artigo • 18/04/2024
Ao usar os Serviços de Informações da Internet (IIS) como um servidor Web em um
computador Windows (incluindo máquinas virtuais do Windows no Azure), você precisa
configurar o aplicativo Web Python para permitir que o IIS processe corretamente o
código Python. A configuração é realizada por meio de ajustes no arquivo [Link]
para o aplicativo Web em Python. Este artigo descreve como definir as configurações
necessárias.
Pré-requisitos
Python no Windows instalado. Para executar um aplicativo Web, primeiro instale a
versão necessária do Python diretamente no computador host do Windows,
conforme descrito em Instalar interpretadores do Python.
Identificar o local do interpretador [Link] . Para sua conveniência, você
pode adicionar esse local à variável de ambiente PATH.
Pacotes necessários instalados. Para um host dedicado, você pode usar o ambiente
global do Python para executar o aplicativo em vez de um ambiente virtual. Da
mesma forma, você pode instalar todos os requisitos do aplicativo no ambiente
global executando o comando pip install -r [Link] .
Configurar o [Link] para apontar para o
interpretador do Python
O arquivo [Link] do aplicativo em Python instrui o servidor Web do IIS (versão 7
ou posterior) em execução no Windows sobre como ele deve tratar as solicitações do
Python por meio de HttpPlatformHandler (recomendado) ou FastCGI. As versões do
Visual Studio 2015 e anterior fazem essas modificações automaticamente. No Visual
Studio 2017 e posterior, você deve modificar o arquivo [Link] manualmente.
Se o projeto ainda não contiver um arquivo [Link] , você pode adicionar um
clicando com o botão direito do mouse no diretório do projeto, selecionando Adicionar
> Novo Item e procurando por [Link] ou criando um arquivo XML [Link] em
branco.
Configurar o HttpPlatformHandler
O módulo HttpPlatform passa conexões de soquete diretamente para um processo de
Python autônomo. Essa passagem permite que você execute qualquer servidor Web que
desejar, mas ela requer um script de inicialização que executa um servidor Web local.
Essa abordagem é comumente feita usando um framework web Python, como Flask ou
Django. Você especifica o script no elemento <httpPlatform> do arquivo [Link] . O
atributo processPath aponta para o interpretador Python da extensão do site. O
atributo arguments aponta para o script de inicialização que executa um servidor Web
local, neste caso, [Link] , e quaisquer argumentos que você deseja fornecer:
XML
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<[Link]>
<handlers>
<add name="PythonHandler" path="*" verb="*"
modules="httpPlatformHandler" resourceType="Unspecified"/>
</handlers>
<httpPlatform processPath="c:\python36-32\[Link]"
arguments="c:\home\site\wwwroot\[Link] --port
%HTTP_PLATFORM_PORT%"
stdoutLogEnabled="true"
stdoutLogFile="c:\home\LogFiles\[Link]"
startupTimeLimit="60"
processesPerApplication="16">
<environmentVariables>
<environmentVariable name="SERVER_PORT" value="%HTTP_PLATFORM_PORT%"
/>
</environmentVariables>
</httpPlatform>
</[Link]>
</configuration>
Neste exemplo, a variável de ambiente HTTP_PLATFORM_PORT contém a porta na qual o
servidor local deve escutar as conexões do localhost . Este exemplo também mostra
como criar outra variável de ambiente, SERVER_PORT . Você pode criar e atribuir variáveis
de ambiente conforme necessário.
Configurar o manipulador do FastCGI
O FastCGI é uma interface que funciona no nível da solicitação. O IIS recebe conexões
de entrada e encaminha cada solicitação para um aplicativo WSGI em execução em um
ou mais processos Python persistentes.
7 Observação
É recomendável usar HttpPlatformHandler para configurar os aplicativos, pois o
projeto WFastCGI deixou de receber manutenção.
Para usar o FastCGI, primeiro instale e configure o pacote wfastcgi, conforme descrito
em [Link]/project/wfastcgi/ .
Em seguida, modifique o arquivo [Link] do aplicativo para incluir os caminhos
completos para o executável [Link] e o arquivo [Link] na chave
PythonHandler . As etapas a seguir pressupõem que o Python esteja instalado na pasta
c:\python36-32 e o código do aplicativo esteja na pasta c:\home\site\wwwroot. Ajuste
esses valores para seus caminhos corretamente.
1. Modifique a entrada PythonHandler no arquivo [Link] para que o caminho
corresponda ao local de instalação do Python. Para obter mais informações,
confira Referência de configuração do IIS ([Link]).
XML
<[Link]>
<handlers>
<add name="PythonHandler" path="*" verb="*"
modules="FastCgiModule"
scriptProcessor="c:\python36-32\[Link]|c:\python36-
32\[Link]"
resourceType="Unspecified" requireAccess="Script"/>
</handlers>
</[Link]>
2. Na seção <appSettings> do arquivo [Link] , adicione chaves para
WSGI_HANDLER , WSGI_LOG (opcional) e PYTHONPATH :
XML
<appSettings>
<add key="PYTHONPATH" value="c:\home\site\wwwroot"/>
<!-- The handler here is specific to Bottle; see the next section. -
->
<add key="WSGI_HANDLER" value="app.wsgi_app()"/>
<add key="WSGI_LOG" value="c:\home\LogFiles\[Link]"/>
</appSettings>
Esses valores <appSettings> estão disponíveis para seu aplicativo como variáveis
de ambiente:
O valor da chave PYTHONPATH pode ser estendido livremente, mas deve incluir
a raiz do aplicativo.
A chave WSGI_HANDLER deve apontar para um aplicativo WSGI importável do
seu aplicativo.
A chave WSGI_LOG é opcional, mas é recomendada para a depuração do
aplicativo.
3. Defina a entrada WSGI_HANDLER nos arquivos [Link] de acordo com a estrutura
que você está usando:
Bottle: inclua parênteses depois do valor app.wsgi_app conforme mostrado
no exemplo. Os parênteses são necessários porque o objeto é uma função,
não uma variável. Você pode ver a sintaxe no arquivo [Link] .
XML
<!-- Bottle apps only -->
<add key="WSGI_HANDLER" value="app.wsgi_app()"/>
Flask: altere o valor de WSGI_HANDLER para <project_name>.app , em que
<project_name> corresponde ao nome do seu projeto. Você pode localizar o
identificador exato examinando a instrução from <project_name> import app
no arquivo [Link] . Por exemplo, se o projeto fosse denominado
FlaskAzurePublishExample , a entrada seria semelhante ao seguinte:
XML
<!-- Flask apps only: Change the project name to match your app --
>
<add key="WSGI_HANDLER" value="[Link]"/>
Django: duas alterações são necessárias no arquivo [Link] para projetos
do Django.
Altere o valor de WSGI_HANDLER para
[Link].get_wsgi_application() . O objeto está no arquivo
[Link] .
XML
<!-- Django apps only -->
<add key="WSGI_HANDLER"
value="[Link].get_wsgi_application()"/>
Adicione a seguinte entrada imediatamente após a entrada da chave
WSGI_HANDLER . Substitua o valor DjangoAzurePublishExample pelo nome do
projeto:
XML
<add key="DJANGO_SETTINGS_MODULE"
value="django_iis_example.settings" />
4. Somente aplicativos Django: no arquivo [Link] do projeto do Django,
adicione o domínio de URL do site ou o endereço IP à entrada ALLOWED_HOSTS .
Substitua "[Link]" pelo seu URL ou endereço IP:
Python
# Change the URL or IP address to your specific site
ALLOWED_HOSTS = ['[Link]']
Se você não adicionar o URL aos resultados da matriz, verá o seguinte erro:
Saída
DisallowedHost at / Invalid HTTP_HOST header: '\<site URL\>'. You might
need to add '\<site URL\>' to ALLOWED_HOSTS.
Quando a matriz está vazia, o Django permite automaticamente 'localhost' e
'[Link]' como hosts. Se você adicionar o URL de produção, esses sites de host não
serão permitidos automaticamente. Por esse motivo, convém manter cópias do arquivo
[Link] de desenvolvimento e de produção separadas ou usar variáveis de
ambiente para controlar os valores de runtime.
Implantar IIS ou uma máquina virtual do
Windows
Quando tiver o arquivo [Link] correto no projeto, você pode publicar no
computador que está executando o IIS do Gerenciador de Soluções. Clique com o
botão direito do mouse no projeto, selecione Publicar e, em seguida, selecione IIS, FTP
etc. Nessa situação, o Visual Studio copiará somente os arquivos de projeto para o
servidor. Você é responsável por toda a configuração do lado do servidor.
Conteúdo relacionado
Referência de configuração do IIS ([Link])
Instalar interpretadores do Python
Máquinas virtuais do Windows no Azure
Comentários
Esta página foi útil? Yes No
Editar o código Python e usar o
Intellisense
Artigo • 18/04/2024
Como você passa muito tempo dedicado ao desenvolvimento no editor de códigos, o
Suporte para Python no Visual Studio fornece funcionalidade para ajudá-lo a ser mais
produtivo. Os recursos incluem o realce de sintaxe do IntelliSense, o preenchimento
automático, a ajuda de assinatura, as substituições de método, a pesquisa e a
navegação.
O editor de códigos é integrado à janela Interativa no Visual Studio. À medida que você
trabalha, a troca de código entre as duas janelas é simples. Para obter mais informações,
consulte Etapa 3 do tutorial: Usar a janela do REPL Interativo e Usar a janela Interativa –
comando Enviar para Interativa.
A Estrutura de tópicos ajuda você a manter o foco em seções específicas do código.
Para obter uma documentação geral sobre edição do código no Visual Studio, confira
Recursos do editor de código.
O Pesquisador de Objetos do Visual Studio possibilita que você inspecione as classes
do Python definidas em cada módulo e as funções definidas nessas classes. Acesse esse
recurso pelo menu Exibir ou utilizando o atalho do teclado Ctrl+Alt+J.
Usar os recursos do IntelliSense
O IntelliSense fornece preenchimentos, ajuda da assinatura, informações rápidas e
coloração de código. O Visual Studio 2017 versão 15.7 e posteriores também dão
suporte a dicas de tipo.
Para melhorar o desempenho, o IntelliSense no Visual Studio 2017 versão 15.5 e em
versões anteriores depende do banco de dados de preenchimento que é gerado para
cada ambiente do Python no projeto. Poderá ser necessário atualizar o banco de dados
ao adicionar, remover ou atualizar pacotes. O status do banco de dados é mostrado na
janela Ambientes do Python (um complemento do Gerenciador de Soluções) na guia
IntelliSense. Para obter mais informações, consulte a Referência da janela Ambientes.
O Visual Studio 2017 versão 15.6 e posterior usa um modo diferente para fornecer as
conclusões de IntelliSense que não são dependentes do banco de dados.
Preenchimentos
Preenchimentos aparecem como instruções, identificadores e outras palavras que
podem ser inseridas adequadamente no local atual no editor. O IntelliSense preenche a
lista de opções com base no contexto e filtra itens incorretos ou confusos. Em geral, os
preenchimentos são acionados pela inserção de diferentes instruções (como import ) e
operadores (incluindo um ponto final), mas eles podem aparecer a qualquer momento
por meio da seleção do atalho do teclado Ctrl+J +Espaço.
Quando uma lista de preenchimento é aberta, é possível pesquisar o preenchimento
que você deseja usando as teclas de direção e o mouse ou continuando a digitação.
Conforme você digita mais letras, a lista é filtrada ainda mais para mostrar os prováveis
preenchimentos. Você também pode usar atalhos, como:
Digitar letras que não estão no início do nome, como “parse” para encontrar
“argparse”.
Digitar apenas letras que estão no início de palavras, como “abc” para encontrar
“AbstractBaseClass” ou “air” para encontrar “as_integer_ratio”.
Ignorar letras, como “b64” para encontrar “base64”.
Estes são alguns exemplos:
Os preenchimentos de membro aparecem automaticamente quando você digita um
ponto final depois de uma variável ou um valor, juntamente com os métodos e os
atributos dos tipos possíveis. Se for possível que uma variável seja de mais de um tipo, a
lista incluirá todas as possibilidades de todos os tipos. Informações adicionais são
mostradas para indicar quais tipos oferecem suporte a cada conclusão. Quando todos
os tipos possíveis oferecem suporte a uma conclusão, nenhuma anotação é exibida.
Por padrão, os membros “dunder” (membros que começam e terminam com um
sublinhado duplo) não são exibidos. Em geral, esses membros não devem ser acessados
diretamente. Se você precisar usar um dunder, digite o sublinhado duplo à esquerda
para adicionar esses preenchimentos à lista:
As instruções import e from ... import exibem uma lista de módulos que podem ser
importados. A instrução from ... import produz uma lista que inclui os membros que
podem ser importados do módulo especificado.
As instruções raise e except exibem listas de classes que provavelmente são tipos de
erros. A lista pode não incluir todas as exceções definidas pelo usuário, mas ela ajuda
você a encontrar as exceções internas adequadas rapidamente:
A seleção do símbolo @ (arroba) inicializa um decorador e exibe outros decoradores
potenciais. Muitos desses itens não podem ser utilizados como decoradores. Consulte a
documentação da biblioteca para estabelecer qual decorador utilizar.
Para obter mais informações, consulte Opções: resultados de conclusão.
Dicas de tipo
As dicas de tipo estão disponíveis no Visual Studio 2017 versão 15.7 e em versões
posteriores.
As "dicas de tipo" no Python 3.5+ (PEP 484 ) ([Link]) são uma sintaxe de
anotação para funções e classes que indicam os tipos de argumentos, valores de
retorno e atributos de classe. O IntelliSense exibe dicas de tipo quando você focaliza
argumentos, variáveis e chamadas de função que contêm essas anotações.
No exemplo a seguir, a classe Vector é declarada como o tipo List[float] e a função
scale contém dicas de tipo para seus argumentos e o valor retornado. Passar o mouse
sobre uma chamada da função mostra as dicas de tipo:
No próximo exemplo, você pode ver como os atributos anotados da classe Employee
aparecem no pop-up de conclusão de IntelliSense para um atributo:
Também é útil validar as dicas de tipo em todo o seu projeto, pois erros normalmente
não aparecem até o tempo de execução. Para isso, o Visual Studio integra a ferramenta
padrão do setor MyPy usando o comando de menu de contexto Python>Executar
Mypy no Gerenciador de Soluções:
A execução do comando solicitará que você instale o pacote do MyPy, se necessário.
Depois, o Visual Studio executará o MyPy para validar as dicas de tipo em todos os
arquivos Python do projeto. Os erros aparecem na janela Lista de Erros do Visual Studio.
Selecionar um item na janela navega para a linha apropriada no seu código.
Como um exemplo simples, a definição de função a seguir contém uma dica de tipo que
indica que o argumento input é do tipo str , enquanto a chamada para essa função
tenta passar um número inteiro:
Python
def commas_to_colons(input: str):
items = [Link](',')
items = [[Link]() for x in items]
return ':'.join(items)
commas_to_colons(1)
Usar o comando Execute Mypy neste código gera o seguinte erro:
7 Observação
Para as versões do Python anteriores à 3.5, o Visual Studio também exibe dicas de
tipo fornecidas por meio de arquivos stub do Typeshed (.pyi). Você pode usar
arquivos stub quando não quiser incluir dicas de tipo diretamente no código ou
para criar dicas de tipo para uma biblioteca que não as usa diretamente. Para obter
mais informações, confira Criar stubs para módulos do Python no wiki de
projeto do MyPy.
O Visual Studio ainda não oferece suporte a dicas de tipo nos comentários.
Ajuda da assinatura
Quando você escreve código que chama uma função, a ajuda de assinatura é exibido ao
digitar o primeiro parêntese ( . Ela apresenta toda a documentação disponível e
informações sobre os parâmetros. Acesse a ajuda de assinatura pelo atalho do teclado
Ctrl+Shift+Space dentro de uma chamada de função. As informações exibidas
dependem das cadeias de caracteres de documentação no código-fonte da função, mas
incluem os valores padrão.
Dica
Para desabilitar a ajuda de assinatura, acesse Ferramentas>Opções>Editor de
Texto>Python>Geral. Desmarque a caixa de seleção Conclusão da
instrução>Informações sobre parâmetros.
Informações rápidas
Focalizar o ponteiro do mouse em um identificador exibe uma dica de ferramenta
Informações Rápidas. Dependendo do identificador, as Informações Rápidas poderão
exibir os possíveis valores ou tipos, toda a documentação disponível, os tipos de retorno
e os locais de definição:
Coloração de código
A coloração de código usa informações da análise de código para colorir variáveis,
instruções e outras partes do código. As variáveis relacionadas aos módulos ou às
classes poderão ser exibidas em uma cor diferente das funções ou dos demais valores.
Os nomes de parâmetro poderão ser exibidos em uma cor diferente das variáveis locais
ou globais. Por padrão, as funções não são exibidas em negrito.
Inserir snippets de código
Os snippets de código são fragmentos de código que podem ser inseridos nos arquivos
usando um atalho do teclado e pressionando Tab. Você também pode usar os
comandos Editar>IntelliSense>Inserir Snippet e Cercar com, selecionar Python e
escolher o snippet desejado.
Por exemplo, class é um atalho para um snippet de código que insere uma definição
de classe. Você vê o snippet aparecer na lista de conclusão automática ao digitar class :
Pressionar Tab gera o restante da classe. Depois, digite o nome e a lista de bases,
percorra os campos realçados com Tab e pressione Enter para começar a digitar o
corpo.
Comandos de menu
Ao usar o comando de menu Editar>IntelliSense>Inserir Snippet de Código, primeiro
selecione Python, depois escolha o snippet desejado:
O comando Editar>IntelliSense>Cercar com coloca a seleção atual no editor de texto
dentro de um elemento estrutural escolhido. Suponha que você tem um trecho de
código semelhante ao seguinte exemplo:
Python
sum = 0
for x in range(1, 100):
sum = sum + x
Selecionar esse código e escolher o comando Envolver com exibe uma lista de snippets
de código disponíveis. A escolha de def na lista de snippets coloca o código
selecionado em uma definição de função. Use a tecla Tab para navegar entre o nome e
os argumentos realçados da função:
Examinar snippets disponíveis
Os snippets de código disponíveis podem ser visualizados no Gerenciador de Snippets
de Código. Para acessar esse recurso, abra Ferramentas>Gerenciador de Snippets de
Código e escolha Python como linguagem:
Para criar seus próprios snippets de código, confira Passo a passo: Criar um snippet de
código.
Se você escrever um ótimo snippet de código que gostaria de compartilhar, fique à
vontade para postá-lo em linhas gerais e contar para nós . Talvez possamos incluí-lo
em uma versão futura do Visual Studio.
Navegar pelo seu código
O suporte ao Python no Visual Studio proporciona diversas formas de navegar
rapidamente pelo código, incluindo bibliotecas com o código-fonte disponível. Há
bibliotecas disponíveis com código-fonte para a barra de navegação e para os
comandos Ir para Definição, Ir para e Localizar Todas as Referências. Use também o
Pesquisador de Objetos do Visual Studio.
Barra de navegação
A barra de navegação é exibida na parte superior de cada janela do editor e inclui uma
lista de dois níveis de definições. A lista suspensa do lado esquerdo apresenta
definições de classes e funções de nível superior no arquivo atual. A lista suspensa do
lado direito contém as definições dentro do escopo mostrado do lado esquerdo.
Conforme você usa o editor, as listas são atualizadas para mostrar o contexto atual e
você também pode selecionar uma entrada dessas listas para ir diretamente para ela.
Dica
Para ocultar a barra de navegação, acesse Ferramentas>Opções>Editor de
Texto>Python>Gerais e desmarque Configurações>Barra de navegação.
Ir para definição
O comando Ir para Definição vai rapidamente do uso de um identificador (como um
nome de função, classe ou variável) para o local da definição do código-fonte. Para
invocar o comando, clique com o botão direito do mouse em um identificador e escolha
Ir para Definição ou posicione o cursor no identificador e pressione F12. O comando
funciona em todo o código e nas bibliotecas externas em que o código-fonte esteja
disponível. Se o código-fonte da biblioteca não estiver disponível, o comando Ir para
Definição irá para a instrução import relevante de uma referência de módulo ou exibirá
um erro.
Ir para
O comando Editar>Ir para (Ctrl+,) exibe uma caixa de pesquisa no editor em que é
possível digitar qualquer cadeia de caracteres e ver as possíveis correspondências no
código que definem uma função, uma classe ou uma variável que contém a cadeia de
caracteres. Esse recurso fornece uma funcionalidade semelhante a Ir Para Definição,
mas sem a necessidade de localizar um uso de um identificador.
Para navegar até a definição desse identificador, clique duas vezes em qualquer nome
ou selecione o nome com as teclas de seta e pressione Enter.
Localizar Todas as Referências
O recurso Localizar Todas as Referências é uma maneira útil de descobrir o local em
que um identificador específico é definido e usado, incluindo importações e atribuições.
Para invocar o comando, clique com o botão direito do mouse em um identificador e
escolha Localizar Todas as Referências ou posicione o cursor no identificador e
pressione Shift+F12. Clicar duas vezes em um item da lista navegará para sua
localização.
Conteúdo relacionado
Formatar o código do Python
Refatorar um código do Python
Usar um linter
Comentários
Esta página foi útil? Yes No
Reformatar automaticamente código
Python no Visual Studio
Artigo • 18/04/2024
O Visual Studio permite que você reformate rapidamente o código para corresponder a
padrões de formatadores específicos. Neste artigo, você vai explorar como acessar e
habilitar recursos de formatação.
Escolher um formatador
Você pode definir o formatador de código-fonte por meio de
Ferramentas>Opções>Editor de texto>Python>Formatação. As Ferramentas do
Python no Visual Studio dão suporte à formatação de código-fonte com o autopep8, o
formatador Black e o yapf.
O suporte do Python no Visual Studio também adiciona o comando Preencher
Parágrafo de Comentário ao menu Editar>Avançado, conforme descrito em uma seção
posterior.
Aplicar formato à seleção ou ao arquivo
Você pode aplicar configurações de formatação a todo o conteúdo de um arquivo ou
apenas a uma seleção específica.
Para formatar uma seleção, selecione Editar>Avançado>Formatar Seleção.
Para formatar todo o arquivo, selecione Editar>Avançado>Formatar Documento.
Quebra automática de linha
Você pode habilitar a quebra automática de linha em Ferramentas>Opções>Editor de
Texto>Python>Geral. Na seção Configurações, marque a caixa de seleção Quebra
automática de linha.
Formatar texto de comentário
A opção Editar>Avançado>Preencher Parágrafo de Comentário altera o fluxo e
formata o texto do comentário.
Reformatar linhas longas
Use o recurso para dividir linhas longas de texto, conforme mostrado neste exemplo:
Python
# This is a very long long long long long long long long long long long long
long long long long long long long comment
O texto é reformatado como várias linhas:
Python
# This is a very long long long long long long long long long long long long
# long long long long long long long comment
Combinar linhas curtas
Use o recurso para combinar linhas curtas de texto, conforme mostrado neste exemplo:
Python
# Short line of text
# more text
# text
O texto é reformatado em uma só linha:
Python
# Short line of text more text text
Conteúdo relacionado
Editar o código Python
Refatorar um código do Python
Executar lint no código Python
Comentários
Esta página foi útil? Yes No
Refatorar código Python no Visual
Studio
Artigo • 18/04/2024
A reutilização de código existente e a atualização de código são tarefas comuns para
desenvolvedores. Talvez você queira refatorar um código existente para dar outra
finalidade a ele e economizar tempo por não precisar escrever um código novo do zero.
Talvez você queira limpar um código com o intuito de retirar itens não usados ou
atualizar importações e métodos para que sejam atualizados com as versões recentes.
O Visual Studio fornece vários comandos para ajudar a transformar e limpar código-
fonte Python automaticamente:
Renomear altera o nome de uma classe, um método ou uma variável.
Adicionar importação fornece uma marcação inteligente para adicionar uma
importação ausente.
Remover importações não utilizadas exclui importações não utilizadas.
Pré-requisitos
Visual Studio. Para instalar o produto, siga as etapas em Instalar o Visual Studio.
Acesso a um projeto com código Python existente.
Renomear uma classe, um método ou uma
variável
Use o comando Renomear para modificar o nome de um identificador, incluindo uma
classe, um método ou uma variável. O Visual Studio é compatível tanto com a
atualização de todas as instâncias do identificador quanto com a atualização de
instâncias específicas que você indicar.
As etapas a seguir mostram como utilizar o comando Renomear em um código.
1. No código, clique com o botão direito do mouse no identificador que deseja
renomear e escolha Renomear. Também é possível posicionar o cursor em um
identificador e escolher Editar>Refatorar>Renomear no menu ou utilizar o atalho
do teclado Ctrl+R..
2. Na caixa de diálogo Renomear, digite o novo nome do identificador e pressione
Enter:
Adicionar uma instrução de importação
Caso existam identificadores sem definições ou informações complementares sobre tipo
no código, o Visual Studio poderá ajudar você a corrigir o problema. Posicione o cursor
em um identificador sem informações para que o Visual Studio mostre uma marcação
inteligente (lâmpada) à esquerda do código. A marcação lista comandos para adicionar
as instruções import ou from ... import necessárias para o identificador
correspondente.
As etapas a seguir mostram como usar a marcação inteligente a fim de adicionar
importações ao código.
1. No código, posicione o cursor em um identificador para o qual o Visual Studio
exibe a marcação inteligente (lâmpada). Nesse exemplo, a marcação inteligente é
exibida para a chamada do módulo math:
2. No menu da marcação inteligente, escolha o comando para adicionar o módulo
necessário ou digite informações no arquivo do código. Nesse exemplo, o
comando para adicionar a instrução import math é selecionado.
O Visual Studio oferece conclusões import para módulos e pacotes de nível
superior no projeto atual e na biblioteca padrão. O Visual Studio também oferece
conclusões from ... import para submódulos e subpacotes, bem como para
membros do módulo. As conclusões incluem funções, classes e dados exportados.
3. Após selecionar uma opção, confirme se a alteração esperada acontece no arquivo.
O Visual Studio adiciona a instrução import no topo do arquivo de código após
outras importações ou em uma instrução from ... import existente se o mesmo
módulo já foi importado. Nesse exemplo, a instrução import math é adicionada no
topo do arquivo, depois das outras importações:
O Visual Studio tenta filtrar os membros que não estão definidos em nenhum módulo.
Um exemplo é um módulo importado em outro módulo que não é filho do módulo
importador. Vários módulos utilizam a instrução import sys em vez de from xyz import
sys . Você não vê a conclusão da importação do módulo sys de outros módulos,
mesmo que os módulos não tenham um membro __all__ que exclua o módulo sys .
Da mesma forma, o Visual Studio filtra funções importadas de outros módulos ou do
namespace interno. Se um módulo importa a função settrace do módulo sys , em
teoria, é possível importá-la desse módulo. Entretanto, a melhor abordagem é utilizar a
instrução import settrace from sys diretamente, por isso o Visual Studio oferece
especificamente essa instrução.
Por fim, suponha que um módulo normalmente é excluído, mas ele tem outros valores
que são incluídos, como um nome atribuído com um valor no módulo. O Visual Studio
exclui a importação mesmo assim. Esse comportamento pressupõe que o valor não
deve ser exportado porque outro módulo o define. É provável que outra atribuição seja
um valor fictício que também não é exportado.
Remover importações não utilizadas
Ao escrever código, é fácil acabar tendo instruções import para módulos que não estão
sendo usadas. Como o Visual Studio analisa o código, ele pode determinar
automaticamente se uma instrução import é necessária, observando se o nome
importado é usado dentro do escopo abaixo, no qual a instrução ocorre.
As etapas a seguir mostram como eliminar importações não usadas no código.
1. No código, posicione o cursor em uma instrução import para a qual o Visual
Studio exibe a marcação inteligente (lâmpada). Nesse exemplo, a marcação
inteligente é exibida para os módulos não usados binascii, array e glob:
2. Escolha as opções Excluir todas as importações não usadas ou Remover
importação não usada para eliminar apenas o módulo selecionado.
3. Após selecionar uma opção, confirme se as alterações acontecem no arquivo.
Nesse exemplo, o Visual Studio elimina os três módulos não usados: binascii, array
e glob.
Considerações a respeito do uso dos comandos
de refatoração
Antes de usar os comandos de refatoração, examine as seguintes considerações.
Após a execução de um comando de refatoração, é possível reverter as alterações
usando o comando Editar>Desfazer. O comando Renomear oferece um recurso
Pré-visualizar, para que você possa ver as alterações antes que elas sejam
aplicadas.
O Visual Studio não considera o fluxo de controle no código. Se você utilizar um
identificador antes que a definição complementar exista no código, como uma
instrução import , o Visual Studio processará o identificador como utilizado mesmo
assim. O Visual Studio espera encontrar definições complementares para os
identificadores antes que você faça chamadas e atribuições.
O Visual Studio ignora todas as instruções de importação from __future__ . Essas
instruções são importações executadas dentro de uma definição de classe ou por
meio de instruções from ... import * .
Conteúdo relacionado
Editar o código Python
Lint de código Python
Comentários
Esta página foi útil? Yes No
Executar lint no código Python no Visual
Studio
Artigo • 18/04/2024
O processo de lint destaca problemas de sintaxe e estilo da linguagem no código-fonte
Python. É possível executar um linter no código a fim de identificar e corrigir erros sutis
de programação ou práticas de codificação não convencionais que possam gerar erros.
O lint é capaz de detectar o uso de uma variável não inicializada ou indefinida,
chamadas para funções indefinidas, ausência de parênteses e outros problemas sutis,
como tentativas de redefinição de tipos ou funções internos. O lint é diferente da
formatação porque analisa a forma como o código é executado e detecta erros,
enquanto a formatação apenas reestrutura a forma como o código é exibido.
Duas opções comuns de lint incluem PyLint e MyPy . Essas ferramentas são
amplamente usadas para verificar erros em código Python e incentivar bons padrões de
codificação em Python. Ambas são integradas em projetos do Visual Studio para
Python.
Pré-requisitos
Visual Studio. Para instalar o produto, siga as etapas em Instalar o Visual Studio.
Acesso a um projeto do Python para execução de ferramentas de lint em código
existente.
Executar uma ferramenta de lint
As ferramentas de lint do Visual Studio estão disponíveis no Gerenciador de Soluções.
As etapas a seguir mostram como utilizar um linter para verificar o código.
1. No Visual Studio, clique com o botão direito do mouse em um projeto do Python
no Gerenciador de Soluções e escolha Python, depois selecione Executar PyLint
ou Executar MyPy:
O comando solicita que você instale o linter escolhido no ambiente ativo, caso
ainda não esteja presente.
2. Após a execução do linter no código, analise todos os avisos e erros de lint na
janela Lista de Erros:
3. Clique duas vezes em um erro ou aviso para acessar o local do problema no
código-fonte.
Configurar opções de linha de comando
O PyLint e o MyPy oferecem opções de linha de comando para definir as
configurações de lint para seu projeto.
Esta seção mostra um exemplo que utiliza as opções de linha de comando do PyLint
para controlar o comportamento do PyLint por meio de um arquivo de configuração
.pylintrc . Esse arquivo pode ser colocado na raiz de um projeto do Python no Visual
Studio ou em outra pasta, dependendo da abrangência desejada para aplicação das
configurações.
As etapas a seguir suprimem os avisos "docstring ausente" (conforme mostrado na
imagem anterior) usando um arquivo .pylintrc no projeto do Python.
1. Na linha de comando, navegue até a pasta raiz do projeto que contém o arquivo
.pyproj e execute o seguinte comando para gerar um arquivo de configuração
comentado:
Console
pylint --generate-rcfile > .pylintrc
2. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto e
selecione Adicionar>Item Existente.
3. Na caixa de diálogo, acesse a pasta que contém o novo arquivo .pylintrc .
Selecione o arquivo .pylintrc e Adicionar.
4. No Gerenciador de Soluções, abra o arquivo .pylintrc para edição.
5. Você pode definir diversas configurações no arquivo. Esse exemplo mostra como
desativar um aviso.
a. Encontre a seção [MESSAGES CONTROL] , depois encontre a configuração disable
dentro dessa seção.
A configuração disable consiste em uma longa cadeia de mensagens
específicas, à qual é possível acrescentar os avisos desejados.
b. Anexe a cadeia ,missing-docstring (incluindo a vírgula) ao valor da
configuração disable :
6. Salve o arquivo .pylintrc .
7. Execute o PyLint novamente. Observe que os avisos de “docstring ausente” foram
suprimidos.
Utilizar o arquivo pylintrc do compartilhamento
de rede
É possível utilizar um arquivo .pylintrc de um compartilhamento de rede.
1. Crie uma variável de ambiente chamada PYLINTRC .
2. Atribua à variável o valor do nome de arquivo no compartilhamento de rede
utilizando um caminho UNC ou uma letra de unidade mapeada. Por exemplo,
PYLINTRC=\\myshare\python\.pylintrc .
Conteúdo relacionado
Editar o código Python
Refatorar um código do Python
Comentários
Esta página foi útil? Yes No
Definir comandos personalizados para
projetos em Python no Visual Studio
Artigo • 23/04/2024
Ao desenvolver os projetos em Python, é possível realizar uma comutação para uma
janela de comando com a finalidade de executar scripts ou módulos específicos, realizar
a execução de comandos pip ou usar outras ferramentas com seu código. Para
aprimorar o fluxo de trabalho, é possível adicionar comandos personalizados ao menu
do projeto Python no Visual Studio. Os comandos em Python personalizados podem ser
executados em uma janela do console ou na janela de Saída do Visual Studio. Além
disso, é possível usar expressões regulares para fornecer instruções ao Visual Studio
sobre como analisar erros e avisos da saída do comando.
Pré-requisitos
Instalação do Visual Studio no Windows com suporte para cargas de trabalho em
Python. Para obter mais informações, confira Instalar o suporte ao Python no
Visual Studio.
Não há suporte ao Visual Studio para Mac. Para obter mais informações, consulte O que
está acontecendo com o Visual Studio para Mac? O Visual Studio Code no Windows, no
Mac e no Linux funciona perfeitamente com o Python por meio das extensões
disponíveis .
Explorar comandos personalizados
Por padrão, o menu do projeto em Python contém dois comandos, Executar PyLint e
Executar Mypy:
Os comandos em Python personalizados que você definir aparecerão nesse mesmo
menu. Um comando personalizado pode fazer referência a um arquivo em Python, um
módulo de Python, um código Python embutido, um executável arbitrário ou um
comando pip. Você também pode especificar como e onde o comando é executado.
É possível adicionar comandos personalizados de diversas maneiras:
Definir comandos personalizados diretamente em um arquivo de projeto em
Python (.pyproj). Esses comandos se aplicam a esse projeto específico.
Definir comandos personalizados em um arquivo de destino (.targets). É possível
importar os comandos com facilidade nesse arquivo para usá-los em vários
projetos.
Criar um projeto em Python usando um modelo de projeto no Visual Studio que
defina comandos em Python personalizados.
Determinados modelos de projeto em Python no Visual Studio adicionam
comandos personalizados ao usar um arquivo de destino. Os modelos Projeto
Web em Bottle e Projeto Web em Flask adicionam dois comandos, Iniciar servidor
e Iniciar servidor de depuração. O modelo Projeto Web em Django adiciona estes
comandos e vários outros:
Recarregar o projeto para obter acesso aos comandos
personalizados
Quando um projeto é aberto no Visual Studio, se você fizer alterações no arquivo de
projeto correspondente em um editor, deverá recarregar o projeto para aplicar as
alterações. De maneira semelhante, após definir comandos de Python personalizados
em um arquivo de projeto em Python, você precisa recarregar o projeto em Python para
que os comandos apareçam no menu do projeto em Python. Ao modificar comandos
personalizados definidos em um arquivo de destino, é necessário recompilar a solução
completa do Visual Studio para projetos que importem esse arquivo de destino.
Uma abordagem comum é fazer alterações no arquivo de projeto em Python
diretamente no Visual Studio:
1. Abra o projeto em Python no Visual Studio. (Ao abrir um projeto no Visual Studio,
o projeto é carregado por padrão.)
2. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto em
Python e selecione Descarregar Projeto.
O Visual Studio descarrega o projeto e abre o arquivo de projeto em Python
correspondente (.pyproj) no editor.
Se o arquivo de projeto não abrir, clique com o botão direito do mouse no projeto
em Python novamente e selecione Editar Arquivo de Projeto:
3. Faça as alterações no arquivo de projeto no editor do Visual Studio e salve o
trabalho.
4. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto
descarregado e selecione Recarregar Projeto. Se você tentar recarregar o projeto
sem salvar as alterações no arquivo de projeto, o Visual Studio solicitará que você
conclua a ação.
O processo de descarregar, editar, salvar e recarregar pode se tornar tedioso quando
você desenvolve comandos personalizados. Um fluxo de trabalho mais eficiente envolve
carregar simultaneamente o projeto no Visual Studio e abrir o arquivo de projeto em
Python em um editor separado. É possível usar qualquer editor, como outra instância do
Visual Studio, o Visual Studio Code, o Bloco de notas do Windows, e assim por diante.
Após salvar as alterações no editor e retornar para o Visual Studio, o Visual Studio
detecta as alterações no arquivo de projeto para o projeto aberto e solicita que você
execute uma ação:
Selecione Recarregar ou Recarregar Tudo e o Visual Studio aplicará imediatamente as
alterações do arquivo de projeto ao projeto aberto.
Adicionar comandos personalizados com um
arquivo de projeto
O procedimento apresentado a seguir mostra como criar um comando personalizado ao
adicionar a definição no arquivo de projeto em Python (.pyproj) e recarregar o projeto
no Visual Studio. O comando personalizado realiza a execução do arquivo de
inicialização de um projeto, de forma direta, ao usar o comando [Link] , que é
basicamente o mesmo que usar a opção Depurar>Iniciar sem a Depuração na barra de
ferramentas principal do Visual Studio.
1. No Visual Studio, crie um novo projeto em Python chamado Python-
CustomCommands ao usar o modelo Aplicativo do Python. Para obter instruções,
confira Quickstart: Create a Python project from a template.
O Visual Studio cria o projeto em Python e o carrega em sua sessão. É possível
configurar o projeto por meio do arquivo de projeto (.pyproj). Este arquivo fica
visível somente no Visual Studio quando o projeto está aberto, mas descarregado.
Além disso, o projeto tem um arquivo em Python (.py) para o código do aplicativo.
2. Abra o arquivo de aplicativo Python_CustomCommands.py no editor e adicione o
seguinte código:
Python
print("Hello custom commands")
3. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto em
Python, selecione Python e observe os comandos no menu de contexto.
Atualmente, os únicos comandos no menu de contexto são Executar PyLint e
Executar Mypy. Ao definir comandos personalizados, eles também aparecerão
nesse menu.
4. Inicie um editor separado externo à sessão do Visual Studio e abra o arquivo de
projeto em Python ([Link]) no editor. (Certifique-se de
abrir o arquivo de projeto [.pyproj] e não o arquivo de aplicativo em Python [.py].)
5. No arquivo de projeto, localize o elemento de fechamento </Project> no final do
arquivo e adicione o seguinte XML imediatamente antes do elemento de
fechamento:
XML
<PropertyGroup>
<PythonCommands>
$(PythonCommands);
</PythonCommands>
</PropertyGroup>
6. Salve as alterações no arquivo de projeto e retorne para o Visual Studio. O Visual
Studio detecta as alterações no arquivo de projeto e solicita que você execute uma
ação. Na solicitação, selecione Recarregar para atualizar o projeto aberto com as
alterações do arquivo de projeto.
7. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto em
Python, selecione Python e verifique os comandos no menu de contexto.
O menu de contexto ainda mostra somente os comandos Executar PyLint e
Executar Mypy. O código que você acabou de adicionar ao arquivo de projeto
simplesmente replica o grupo de propriedade padrão <PythonCommands> que
contém o comando PyLint. Na próxima etapa, você adiciona mais código para o
comando personalizado.
8. Realize a comutação para o editor no qual você está realizando a atualização do
arquivo de projeto. Adicione a definição de elemento <Target> apresentada a
seguir no elemento <Project> . É possível posicionar a definição <Target> antes ou
depois da definição <PropertyGroup> descrita anteriormente.
Esse elemento <Target> define um comando personalizado para a execução do
arquivo de inicialização para o projeto (identificado pela propriedade StartupFile)
ao usar o comando [Link] em uma janela do console. A definição do atributo
ExecuteIn="consolepause" usa um console que aguarda a seleção de uma chave
para fechar a janela do console.
XML
<Target Name="Example_RunStartupFile" Label="Run startup file"
Returns="@(Commands)">
<CreatePythonCommandItem
TargetType="script"
Target="$(StartupFile)"
Arguments=""
WorkingDirectory="$(MSBuildProjectDirectory)"
ExecuteIn="consolepause">
<Output TaskParameter="Command" ItemName="Commands" />
</CreatePythonCommandItem>
</Target>
9. Substitua o grupo de propriedades <PythonCommands> (adicionado na etapa 5) pelo
XML apresentado a seguir. Essa sintaxe define o atributo Name para o elemento
<Target> , que adiciona o comando personalizado ao menu de contexto do
Python. O comando tem o rótulo do menu Executar arquivo de inicialização.
XML
<PythonCommands>
$(PythonCommands);
Example_RunStartupFile
</PythonCommands>
Dica
Se você deseja que o comando personalizado apareça no menu de contexto
antes dos comandos padrão definidos no token $(PythonCommands) , posicione
a sintaxe <Target> do comando antes desse token.
10. Salve as alterações no arquivo de projeto e retorne para o Visual Studio. Na
solicitação, recarregue o projeto.
11. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto em
Python, selecione Python e verifique novamente os comandos no menu de
contexto.
Agora o comando personalizado Executar arquivo de inicialização está no menu.
Se você não vir o comando personalizado, confirme se adicionou o valor de
atributo Name do elemento <Target> ao elemento <PythonCommands> , conforme
descrito na etapa 9. Além disso, realize uma revisão das considerações listadas na
seção Solução de problemas apresentada posteriormente neste artigo.
12. Selecione o comando Executar arquivo de inicialização. Uma janela do console é
aberta e exibe o texto Boas-vindas aos comandos personalizados seguido de
Pressione qualquer tecla para continuar. Confirme a saída e feche a janela do
console.
7 Observação
O script de comando personalizado é executado no ambiente ativado para o
projeto em Python.
13. Realize a comutação para o editor com o arquivo de projeto. Na definição do
elemento <Target> (adicionada na etapa 8), altere o valor do atributo ExecuteIn
para output .
XML
<CreatePythonCommandItem
...
ExecuteIn="output">
...
</CreatePythonCommandItem>
14. Salve as alterações, retorne para o Visual Studio e recarregue o projeto.
15. Selecione o comando personalizado Executar arquivo de inicialização novamente
usando o menu de contexto do Python. Agora, a saída do programa aparecerá na
janela de Saída do Visual Studio em vez de em uma janela do console:
16. Para adicionar mais comandos personalizados, siga este mesmo processo:
a. Defina um elemento <Target> adequado para o comando personalizado no
arquivo de projeto.
b. Adicione o valor de atributo Name para o elemento <Target> no grupo de
propriedades <PythonCommands> .
c. Salve as alterações no arquivo de projeto.
d. Recarregue o projeto no Visual Studio.
Usar as propriedades do projeto
Para conferir as propriedades do projeto ou as variáveis de ambiente nos valores de
atributos do elemento <Target> , use o nome da propriedade em um token $() , como
$(StartupFile) e $(MSBuildProjectDirectory) . Para obter mais informações, confira
Propriedades do MSBuild.
Se você invocar um comando, como ($StartupFile) , que usa propriedades do projeto,
como a propriedade StartupFile, e o comando apresentar falhas porque o token é
indefinido, o Visual Studio desabilitará o comando até que você recarregue o projeto. Se
você fizer alterações no projeto que modifiquem a definição de propriedade, as
alterações não atualizarão o estado do comando relacionado. Nesse caso, você ainda
precisará recarregar o projeto.
Compreender a estrutura do elemento
<Target>
Você define os detalhes de um comando personalizado ao usar o elemento <Target> . O
formato geral do elemento <Target> é mostrado no pseudocódigo a seguir:
XML
<Target Name="Name1" Label="Display Name" Returns="@(Commands)">
<CreatePythonCommandItem Target="filename, module name, or code"
TargetType="executable/script/module/code/pip"
Arguments="..."
ExecuteIn="console/consolepause/output/repl[:Display name]/none"
WorkingDirectory="..."
ErrorRegex="..."
WarningRegex="..."
RequiredPackages="...;..."
Environment="...">
<!-- Output always appears in this form, with these exact attributes -
->
<Output TaskParameter="Command" ItemName="Commands" />
</CreatePythonCommandItem>
</Target>
Atributos de destino
A tabela apresentada a seguir lista os atributos do elemento <Target> .
ノ Expandir a tabela
Atributo Obrigatório Descrição
Name Sim O identificador do comando dentro do projeto do Visual Studio. Esse
nome deve ser adicionado ao grupo de propriedades
<PythonCommands> para que o comando seja exibido no menu de
contexto do Python.
Label Yes O nome de exibição da interface do usuário que aparece no menu de
contexto do Python.
Returns Yes As informações retornadas, que devem conter o token @(Commands) ,
identificam o destino como um comando.
Atributos de CreatePythonCommandItem
O elemento <Target> contém os elementos <CreatePythonCommandItem> e <Output> , que
definem o comportamento do comando personalizado em detalhes. A tabela
apresentada a seguir lista os atributos do elemento <CreatePythonCommandItem>
disponíveis. Todos os valores de atributo não diferenciam maiúsculas de minúsculas.
ノ Expandir a tabela
Attribute Obrigatório Descrição
TargetType Sim Especifica o que o atributo Target contém e como o valor é
usado em conjunto com o atributo Arguments :
- executable : realiza a execução do executável nomeado no
atributo Target ao acrescentar o valor no atributo Arguments ,
como se tivesse sido inserido diretamente na linha de
comando. O valor deve conter apenas um nome de programa
sem argumentos.
- script : realiza a execução do comando [Link] com o
nome do arquivo no atributo Target , seguido do valor no
atributo Arguments .
- module : realiza a execução do comando python -m , seguido
do nome do módulo no atributo Target e seguido do valor
no atributo Arguments .
- code : realiza a execução do código embutido contido no
atributo Target . Ignore o valor de atributo Arguments .
- pip : realiza a execução do pip com o comando no atributo
Target , seguido do valor no atributo Arguments . Se o atributo
ExecuteIn estiver definido como output , o pip assumirá que a
solicitação é para realizar a execução do comando install e
usará o atributo Target como o nome do pacote.
Target Yes Especifica o nome do arquivo, nome do módulo, código ou
comando do pip a ser usado, com base no valor do atributo
TargetType .
Arguments Opcional Fornece uma sequência de argumentos (se houver) para usar
com o atributo Target .
- Quando o valor de atributo TargetType é script , o valor
Arguments é fornecido ao programa em Python em vez de
usar o comando [Link] .
- Quando o valor de atributo TargetType é code , o valor
Arguments é ignorado.
ExecuteIn Yes Especifica o ambiente no qual a execução do comando deve
ser realizada:
- console : (padrão) realize a execução do atributo Target com
Attribute Obrigatório Descrição
o valor Arguments como se eles tivessem sido inseridos
diretamente na linha de comando. Enquanto o atributo
Target está em execução, uma janela de comando é exibida e
fechada automaticamente.
- consolepause : tem um comportamento semelhante ao do
console , mas aguarda que uma tecla seja pressionada antes
de fechar a janela.
- output : realiza a execução do atributo Target e a exibição
dos resultados na janela de Saída do Visual Studio. Se o
atributo TargetType for pip , o Visual Studio usará o atributo
Target como o nome do pacote e acrescentará o valor de
atributo Arguments .
- repl : realiza a execução do atributo Target na Janela
Interativa do Python. O nome de exibição opcional é usado
para o título da janela.
- none : tem um comportamento semelhante ao do console .
WorkingDirectory Opcional Identifica a pasta na qual a execução do comando deve ser
realizada.
ErrorRegex Opcional Usado somente quando o atributo ExecuteIn está definido
WarningRegEx como output . Ambos os valores de atributos especificam uma
expressão regular que o Visual Studio usa para analisar a saída
do comando e mostrar erros e avisos na janela Lista de Erros.
Se esses atributos não forem especificados, o comando não
afetará a janela Lista de Erros. Para obter mais informações
sobre o que o Visual Studio espera, confira Grupos de captura
nomeados.
RequiredPackages Opcional Fornece uma lista de requisitos de pacote para o comando ao
usar o mesmo formato do arquivo [Link]
([Link]). Por exemplo, o comando Executar PyLint
especifica o formato pylint>=1.0.0 . Antes de realizar a
execução do comando, o Visual Studio confirma que todos os
pacotes da lista estão instalados. O Visual Studio usa o pip
para instalar todos os pacotes ausentes.
Environment Opcional Identifica uma sequência de variáveis de ambiente a serem
definidas antes da execução do comando. Cada variável usa o
formato \<NAME>=\<VALUE> com múltiplas variáveis separadas
por ponto e vírgula. Uma variável com vários valores deve
estar entre aspas simples ou duplas, como em
'NAME=VALUE1;VALUE2' .
Grupos de captura nomeados para expressões regulares
Quando o Visual Studio analisa erros e avisos da saída de comando personalizado,
espera-se que as expressões regulares nos valores de atributos ErrorRegex e
WarningRegex usem os seguintes grupos nomeados:
(?<message>...) : texto do erro.
(?<code>...) : valor do código de erro.
(?<filename>...) : nome do arquivo para o qual o erro é relatado.
(?<line>...) : número de linha da localização no arquivo para a qual o erro é
relatado.
(?<column>...) : número da coluna da localização no arquivo para a qual o erro é
relatado.
Por exemplo, PyLint gera avisos da seguinte forma:
Saída
************* Module hello
C: 1, 0: Missing module docstring (missing-docstring)
Para permitir que o Visual Studio extraia as informações corretas desses avisos e os
mostre na janela Lista de Erros, o valor de atributo WarningRegex para o comando
Executar PyLint deve ser semelhante ao seguinte:
XML
^(?<filename>.+?)\((?<line>\d+),(?<column>\d+)\): warning (?<msg_id>.+?): (?
<message>.+?)$]]
7 Observação
A sintaxe msg_id no valor de atributo WarningRegex deve, na verdade, ser code ,
conforme descrito em Issue 3680 .
Importar comandos personalizados ao usar o
arquivo de destino
Se você definir comandos personalizados em um arquivo de projeto em Python, os
comandos estarão disponíveis somente para esse projeto específico. Quando desejar
criar comandos personalizados e usá-los em vários projetos, é possível definir o grupo
de propriedades <PythonCommands> com todos os seus elementos <Target> em um
arquivo de destino (.targets) e, em seguida, importar esse arquivo para os projetos em
Python.
O arquivo de destino usa um formato e uma sintaxe semelhantes para definir
comandos personalizados, conforme descrito para o arquivo de projeto em Python
(.pyproj). Os elementos comuns a serem configurados incluem <PythonCommands> ,
<Target> , <CreatePythonCommandItem> e <Output> :
XML
<Project xmlns="[Link]
<PropertyGroup>
<PythonCommands>
$(PythonCommands);
<!-- Additional command names -->
</PythonCommands>
</PropertyGroup>
<Target Name="..." Label="..." Returns="@(Commands)">
<!-- CreatePythonCommandItem and Output elements... -->
</Target>
<!-- Any number of additional Target elements-->
</Project>
Para importar um arquivo de destino para o projeto, adicione um elemento
<Import Project="(path)"> em qualquer lugar no elemento <Project> no arquivo
de projeto.
Por exemplo, se você tiver um arquivo de projeto chamado
[Link] em uma pasta de destinos do projeto em Python,
adicione o seguinte código ao arquivo de projeto:
XML
<Import Project="targets/[Link]"/>
Se o arquivo de projeto importar um arquivo de destino e você fizer alterações no
arquivo de destino enquanto o projeto estiver aberto no Visual Studio, será
necessário Recompilar a solução do Visual Studio que contém o projeto, e não
apenas o projeto.
Comandos de exemplo
As seções apresentadas a seguir fornecem um código de exemplo que você pode usar
para definir comandos personalizados para os projetos em Python.
Executar PyLint (destino do módulo)
O seguinte código é exibido no arquivo [Link]:
XML
<PropertyGroup>
<PythonCommands>$(PythonCommands);PythonRunPyLintCommand</PythonCommands>
<PyLintWarningRegex>
<![CDATA[^(?<filename>.+?)\((?<line>\d+),(?<column>\d+)\): warning (?
<msg_id>.+?): (?<message>.+?)$]]>
</PyLintWarningRegex>
</PropertyGroup>
<Target Name="PythonRunPyLintCommand"
Label="resource:[Link];[Link]
rings;RunPyLintLabel"
Returns="@(Commands)">
<CreatePythonCommandItem Target="[Link]"
TargetType="module"
Arguments=""--msg-template={abspath}({line},
{column}): warning {msg_id}: {msg} [{C}:{symbol}]" -r n @(Compile, '
')"
WorkingDirectory="$(MSBuildProjectDirectory)"
ExecuteIn="output"
RequiredPackages="pylint>=1.0.0"
WarningRegex="$(PyLintWarningRegex)">
<Output TaskParameter="Command" ItemName="Commands" />
</CreatePythonCommandItem>
</Target>
Executar pip install com um pacote específico (pip target)
O comando apresentado a seguir realiza a execução do comando pip install my-
package na janela de Saída do Visual Studio. É possível usar um comando como este ao
desenvolver um pacote e testar a instalação dele. O elemento <Target> contém o nome
do pacote em vez do comando install , que é assumido quando você usa a definição
do atributo ExecuteIn="output" .
XML
<PropertyGroup>
<PythonCommands>$(PythonCommands);InstallMyPackage</PythonCommands>
</PropertyGroup>
<Target Name="InstallMyPackage" Label="pip install my-package"
Returns="@(Commands)">
<CreatePythonCommandItem Target="my-package" TargetType="pip" Arguments=""
WorkingDirectory="$(MSBuildProjectDirectory)" ExecuteIn="output">
<Output TaskParameter="Command" ItemName="Commands" />
</CreatePythonCommandItem>
</Target>
Mostrar pacotes de pip desatualizados (destino de pip)
O comando apresentado a seguir executa o pip com a função list para identificar
pacotes desatualizados do pip:
XML
<PropertyGroup>
<PythonCommands>$(PythonCommands);ShowOutdatedPackages</PythonCommands>
</PropertyGroup>
<Target Name="ShowOutdatedPackages" Label="Show outdated pip packages"
Returns="@(Commands)">
<CreatePythonCommandItem Target="list" TargetType="pip" Arguments="-o --
format columns"
WorkingDirectory="$(MSBuildProjectDirectory)" ExecuteIn="consolepause">
<Output TaskParameter="Command" ItemName="Commands" />
</CreatePythonCommandItem>
</Target>
Executar o executável com consolepause
O comando apresentado a seguir realiza a execução da função where para mostrar a
localização dos arquivos em Python começando pela pasta do projeto:
XML
<PropertyGroup>
<PythonCommands>$(PythonCommands);ShowAllPythonFilesInProject</PythonCommand
s>
</PropertyGroup>
<Target Name="ShowAllPythonFilesInProject" Label="Show Python files in
project" Returns="@(Commands)">
<CreatePythonCommandItem Target="where" TargetType="executable"
Arguments="/r . *.py"
WorkingDirectory="$(MSBuildProjectDirectory)" ExecuteIn="output">
<Output TaskParameter="Command" ItemName="Commands" />
</CreatePythonCommandItem>
</Target>
Comandos para executar o servidor e executar o servidor
de depuração
Para explorar como os comandos Iniciar servidor e Iniciar servidor de depuração para
projetos Web são definidos, examine o repositório [Link]
no GitHub.
Instalar o pacote para desenvolvimento
O código apresentado a seguir realiza a execução do pip para instalar pacotes:
XML
<PropertyGroup>
<PythonCommands>PipInstallDevCommand;$(PythonCommands);</PythonCommands>
</PropertyGroup>
<Target Name="PipInstallDevCommand" Label="Install package for development"
Returns="@(Commands)">
<CreatePythonCommandItem Target="pip" TargetType="module"
Arguments="install --editable $(ProjectDir)"
WorkingDirectory="$(WorkingDirectory)" ExecuteIn="Repl:Install
package for development">
<Output TaskParameter="Command" ItemName="Commands" />
</CreatePythonCommandItem>
</Target>
De fxthomas/[Link] (GitHub), usado com permissão.
Gerar o Windows Installer
O script apresentado a seguir gera um Windows Installer:
XML
<PropertyGroup>
<PythonCommands>$(PythonCommands);BdistWinInstCommand;</PythonCommands>
</PropertyGroup>
<Target Name="BdistWinInstCommand" Label="Generate Windows Installer"
Returns="@(Commands)">
<CreatePythonCommandItem Target="$(ProjectDir)[Link]"
TargetType="script"
Arguments="bdist_wininst --user-access-control=force --title
"$(InstallerTitle)" --dist-
dir="$(DistributionOutputDir)""
WorkingDirectory="$(WorkingDirectory)" RequiredPackages="setuptools"
ExecuteIn="Repl:Generate Windows Installer">
<Output TaskParameter="Command" ItemName="Commands" />
</CreatePythonCommandItem>
</Target>
De fxthomas/[Link] (GitHub), usado com permissão.
Gerar pacote wheel para o Python
O script apresentado a seguir gera um pacote wheel para o Python :
XML
<PropertyGroup>
<PythonCommands>$(PythonCommands);BdistWheelCommand;</PythonCommands>
</PropertyGroup>
<Target Name="BdistWheelCommand" Label="Generate Wheel Package"
Returns="@(Commands)">
<CreatePythonCommandItem Target="$(ProjectDir)[Link]"
TargetType="script"
Arguments="bdist_wheel --dist-
dir="$(DistributionOutputDir)""
WorkingDirectory="$(WorkingDirectory)"
RequiredPackages="wheel;setuptools"
ExecuteIn="Repl:Generate Wheel Package">
<Output TaskParameter="Command" ItemName="Commands" />
</CreatePythonCommandItem>
</Target>
De fxthomas/[Link] (GitHub), usado com permissão.
Solucionar problemas de comandos
personalizados
Faça uma revisão das seções apresentadas a seguir sobre possíveis problemas
relacionados ao trabalho com comandos personalizados.
Arquivo de projeto não carregado
Essa mensagem de erro indica que há erros de sintaxe no arquivo de projeto. A
mensagem inclui o erro específico com um número de linha e a posição do caractere.
A janela do console fecha após a execução do comando
Se a janela do console fechar imediatamente após a execução do comando, use a
definição de atributo ExecuteIn="consolepause" em vez de ExecuteIn="console" .
Comando ausente no menu
Se você não vir o comando personalizado no menu de contexto do Python, verifique os
seguintes itens:
Confirme se o comando está incluído no grupo de propriedades <PythonCommands> .
Verifique se o nome do comando, conforme definido na lista de comandos,
corresponde ao nome especificado no elemento <Target> .
Veja um exemplo. No trecho em XML apresentado a seguir, o nome Example no grupo
de propriedades <PythonCommands> não corresponde ao nome ExampleCommand na
definição do elemento <Target> . O Visual Studio não encontra um comando chamado
Example , portanto, nenhum comando é exibido. Use ExampleCommand na lista de
comandos ou altere o nome do destino para ser apenas Example .
XML
<PropertyGroup>
<PythonCommands>$(PythonCommands);Example</PythonCommands>
</PropertyGroup>
<Target Name="ExampleCommand" Label="Example Command"
Returns="@(Commands)">
<!-- ... -->
</Target>
Erro ao executar comando e falha ao obter o destino do
comando
Essa mensagem de erro indica que o conteúdo dos elementos <Target> ou
<CreatePythonCommandItem> está incorreto.
Confira a seguir alguns possíveis motivos para esse erro:
O atributo do elemento <Target> necessário está vazio.
O atributo TargetType obrigatório está vazio ou contém um valor não
reconhecido.
O atributo ExecuteIn obrigatório está vazio ou contém um valor não reconhecido.
O atributo ErrorRegex ou WarningRegex é especificado sem definir a definição de
atributo ExecuteIn="output" .
Atributos não reconhecidos existem no elemento. Por exemplo, a referência do
atributo pode estar escrita incorretamente como Argumnets em vez de Arguments .
Os valores de atributos poderão ficar vazios se você fizer referência a uma propriedade
indefinida. Se você usar o token $(StartupFile) , mas nenhum arquivo de inicialização
estiver definido no projeto, o token será resolvido como uma sequência vazia. Nesses
casos, talvez você queira definir um valor padrão. Por exemplo, os comandos Executar
servidor e Executar servidor de depuração definidos nos modelos de projeto em
Bottle, em Flask e em Django usam o arquivo [Link] por padrão (se um arquivo de
inicialização do servidor não for especificado nas propriedades do projeto).
O Visual Studio para de responder ou falha
Se o Visual Studio parar de responder e falhar quando você realiza a execução do
comando personalizado, provavelmente você está tentando executar um comando de
console com a definição de atributo ExecuteIn="output" . Nesses casos, o Visual Studio
pode falhar ao tentar analisar a saída. Para evitar essa condição, use a definição de
atributo ExecuteIn="console" em vez disso. Para obter mais informações, confira Issue
3681 .
Comando não reconhecido como programa operável ou
arquivo em lotes
Ao definir a definição do atributo TargetType="executable" , o valor no atributo Target
deve ser somente o nome do programa sem quaisquer argumentos, como apenas
python ou [Link] . Nesse caso, mova os argumentos para o atributo Arguments .
Comentários
Esta página foi útil? Yes No
Trabalho com a Janela Interativa do
Python no Visual Studio
Artigo • 23/04/2024
O Visual Studio fornece uma janela de Loop de Leitura, Avaliação e Impressão (REPL)
interativa para cada um de seus ambientes do Python, que melhora o REPL obtido com
o comando [Link] na linha de comando. A Janela Interativa do Python permite
inserir código Python arbitrário e visualizar resultados de forma imediata. Essa
abordagem de codificação ajuda você a aprender e experimentar APIs e bibliotecas e a
desenvolver de maneira interativa um código funcional para incluir em projetos.
O Visual Studio tem diversos modos de REPL do Python à sua disposição:
ノ Expandir a tabela
REPL Descrição Edição Depuração Imagens
Standard O REPL padrão, que se Edição Standard (com Sim, por meio Não
comunica com o Python múltiplas linhas e de $attach
diretamente mais)
Depurar REPL padrão, que se Edição padrão Somente Não
comunica com o depuração
processo depurado do
Python
IPython O REPL se comunica Comandos do IPython, Não Sim,
com o back-end do funcionalidades do embutido no
IPython Pylab REPL
REPL Descrição Edição Depuração Imagens
IPython O REPL se comunica IPython padrão Não Sim, em uma
sem Pylab com o back-end do janela
IPython separada
Este artigo descreve os modos REPL Padrão e Depuração. Para obter detalhes sobre os
modos do IPython, confira Usar o REPL do IPython.
Para obter um passo a passo em detalhes com exemplos, incluindo as interações com o
editor, como Ctrl+Enter, confira Usar a janela Interativa REPL.
Pré-requisitos
Instalação do Visual Studio no Windows com suporte para cargas de trabalho em
Python. Para obter mais informações, confira Instalar o suporte ao Python no
Visual Studio.
Ainda não há suporte ao Visual Studio para Mac. Para obter mais informações, consulte
O que está acontecendo com o Visual Studio para Mac? O Visual Studio Code no
Windows, no Mac e no Linux funciona perfeitamente com o Python por meio das
extensões disponíveis .
Abrir a Janela Interativa
Existem várias maneiras de abrir a Janela Interativa para um ambiente do Python.
Na janela Ambientes do Python:
1. Selecione Exibir>Outras Janelas>Ambientes do Python para abrir a janela
Ambientes do Python (ou use o atalho de teclado Ctrl+K>Ctrl+`).
2. Na janela Ambientes do Python, selecione um ambiente e realize a
comutação para a página de Visão Geral do ambiente.
3. Na página de Visão Geral, selecione a opção Abrir Janela Interativa.
No menu Exibir na ferramenta do Visual Studio, selecione Outras Janelas>Janela
Interativa do Python:
No menu Depurar na barra de ferramentas do Visual Studio, selecione Executar
<Projeto | Arquivo> em Interativo do Python ou use o atalho de teclado
Shift+Alt+F5. É possível abrir uma Janela Interativa para o Arquivo de
Inicialização no projeto ou para arquivos independentes:
Outra opção é enviar o código que você está gravando no editor do Visual Studio para a
Janela Interativa. Essa abordagem é descrita em Enviar código para a Janela Interativa.
Explorar as opções da Janela Interativa
É possível obter o controle sobre vários aspectos da Janela Interativa, como a
localização dos arquivos de script de inicialização e como as teclas de direção
funcionam no ambiente da janela. Para obter acesso às opções, selecione
Ferramentas>Opções>Python>Janelas Interativas:
As opções são descritas em detalhes em Python Interactive Window options for Visual
Studio.
Usar a Janela Interativa
Na Janela Interativa, é possível começar a inserir o código linha por linha no prompt de
comando >>> de REPL do Python. À medida que você inserir cada linha, o Visual Studio
realizará a execução do código, incluindo a importação dos módulos necessários e a
definição de variáveis.
Quando o Visual Studio detectar que uma linha de código não realiza a formação de
uma instrução completa, a solicitação de código sofre alteração para a continuação de
REPL ... . Essa solicitação indica que você precisa inserir mais linhas de código para
concluir o bloco de instruções. O Visual Studio aguarda a sintaxe de fechamento antes
de tentar executar o bloco de código.
Quando você definir uma instrução for , a primeira linha de código iniciará o bloco for
e terminará com dois-pontos. O bloco pode consistir em uma ou mais linhas de código
que definem as tarefas a serem concluídas durante o loop for . Ao selecionar Enter em
uma linha em branco, a Janela Interativa fecha o bloco e o Visual Studio executa o
código.
Comparação do REPL da linha de comando
A Janela Interativa aprimora a experiência do REPL usual da linha de comando do
Python ao recuar automaticamente as instruções que pertencem a um escopo
circundante. Ambas as abordagens permitem usar as teclas de direção para navegar
pelo código inserido. A Janela Interativa também fornece itens com múltiplas linhas,
enquanto o REPL da linha de comando fornece somente linhas únicas.
Comando meta
A Janela Interativa oferece suporte a diversos comandos meta. Todos os comandos
meta começam com o símbolo do cifrão $ . É possível inserir $help para visualizar uma
lista de comandos meta e $help <command> para obter detalhes de uso de um comando
específico. A tabela apresentada a seguir resume os comandos meta.
ノ Expandir a tabela
Metacomando Descrição
$$ Inserção de um comentário, que será útil para deixar comentários sobre o
código durante a sessão.
$cls , $clear Limpeza do conteúdo da janela do editor, mas o histórico e o contexto de
execução permanecem intactos.
$help Exibe uma lista de comandos ou a ajuda sobre um comando específico.
$load Carregamento de comandos do arquivo e execução até eles estarem
concluídos.
$mod Comutação do escopo atual para o nome do módulo especificado.
$reset Restauração do ambiente de execução para o estado inicial, mas o histórico é
mantido.
$wait Espera pelo menos o número especificado de milissegundos.
Além disso, é possível ampliar os comandos com extensões do Visual Studio ao
implementar e exportar a classe IInteractiveWindowCommand . Para obter mais
informações, faça a revisão de um (exemplo no GitHub ).
Comutar o escopo da Janela Interativa
Por padrão, a Janela Interativa para um projeto tem como escopo o Arquivo de
Inicialização do projeto, como se você tivesse executado o arquivo do programa no
prompt de comando. Para um arquivo independente, o escopo é definido para esse
arquivo. Durante a sessão do REPL, é possível usar o menu suspenso Escopo do módulo
para alterar o escopo quando desejar:
Ao importar um módulo, como import importlib , opções aparecem no menu suspenso
Escopo do módulo para a comutação para qualquer escopo nesse módulo. Uma
mensagem na Janela Interativa reporta as alterações para o novo escopo, para que seja
possível para você acompanhar como chegou a um determinado estado durante a
sessão ao realizar a revisão do histórico de comando.
Se você inserir o comando dir() em um escopo, o Visual Studio exibirá identificadores
válidos nesse escopo, incluindo nomes de funções, classes e variáveis. A imagem
apresentada a seguir mostra o resultado do comando dir() para o escopo importlib :
Enviar código para a Janela Interativa
Além de trabalhar diretamente na Janela Interativa, é possível enviar código do editor
do Visual Studio para a janela. Esse comando é útil para o desenvolvimento de código
iterativo ou evolucionário, incluindo o teste do código durante o desenvolvimento.
1. Abra um arquivo de código no editor do Visual Studio e selecione uma parte ou
todo o código.
2. Clique com o botão direito do mouse no código selecionado e escolha Enviar para
o Interativo (ou use o atalho de teclado Ctrl+E, E).
Modificação e execução do código
Após enviar o código para a Janela Interativa e realizar a exibição da saída, você poderá
modificar o código e testar as alterações. Use as teclas de direção para cima e para
baixo para rolar até o código no histórico de comando da janela. Realize a modificação
do código e a execução do código atualizado ao selecionar Ctrl+Enter.
Ao fazer alterações, se você selecionar Enter no final de uma instrução de código
completa, o Visual Studio executará o código. Se a instrução do código não estiver
completa, o Visual Studio inserirá uma nova linha na janela.
Salvar o código e remover as solicitações
Após concluir o trabalho no código, você poderá selecionar o código atualizado na
Janela Interativa e colá-lo novamente no arquivo de projeto para salvar o trabalho.
Ao colar o código da Janela Interativa no editor, o Visual Studio remove o prompt de
comando >>> do REPL e a solicitação de continuação ... , por padrão. Esse
comportamento permite transferir o código da janela para o editor com facilidade.
É possível alterar o comportamento com a opção Colar remove as solicitações do REPL
para a Janela Interativa:
1. Selecione Ferramentas>Opções para abrir a caixa de diálogo Opções.
2. Expanda a seção Editor de Texto>Python>Formatação.
3. Desmarque a opção Colar remove as solicitações do REPL.
Quando você desmarca a opção, os caracteres da solicitação são retidos no código
colado da janela. Para obter mais informações, confira Opções: Opções diversas.
Revisar o comportamento do IntelliSense
A Janela Interativa inclui sugestões do IntelliSense com base em objetos ativos,
diferentemente do editor de código, no qual o IntelliSense se baseia somente na análise
do código-fonte. Como resultado, as sugestões do IntelliSense na Janela Interativa são
mais corretas, especialmente com um código gerado de forma dinâmica. A
desvantagem é que as funções com efeitos colaterais, como mensagens de registro em
log, podem afetar a experiência de desenvolvimento.
É possível realizar o ajuste do comportamento do Intellisense ao usar as opções de
Conclusão:
1. Selecione Ferramentas>Opções para abrir a caixa de diálogo Opções.
2. Expanda a seção Python>Janelas Interativas.
3. Ajuste as configurações no grupo Modo de Conclusão, como Nunca avaliar as
expressões ou Ocultar as sugestões de análise estática.
Para obter mais informações, confira Opções: Opções da Janela Interativa.
Conteúdo relacionado
Usar o IPython na Janela Interativa no Visual Studio
Tutorial: Use the Interactive REPL window in Visual Studio
Comentários
Esta página foi útil? Yes No
Usar o IPython na Janela Interativa no
Visual Studio
Artigo • 23/04/2024
A Janela Interativa do Visual Studio no modo IPython é um ambiente de
desenvolvimento interativo avançado, porém amigável, que tem recursos de
Computação Paralela Interativa. O presente artigo fornece instruções sobre como usar o
IPython na Janela Interativa do Visual Studio e obter acesso aos recursos padrão da
Janela Interativa.
Pré-requisitos
Instalação do Visual Studio no Windows com suporte para cargas de trabalho em
Python. Para obter mais informações, confira Instalar o suporte ao Python no
Visual Studio.
Ainda não há suporte ao Visual Studio para Mac. Para obter mais informações,
consulte O que está acontecendo com o Visual Studio para Mac? O Visual Studio
Code no Windows, no Mac e no Linux funciona perfeitamente com o Python por
meio das extensões disponíveis .
A instalação do Python deve incluir as bibliotecas IPython, numpy e matplotlib. É
possível instalar essas bibliotecas ao usar o instalador de Pacote no Visual Studio,
conforme descrito em Tutorial: Install packages in your Python environment in
Visual Studio.
7 Observação
A implementação IronPython não oferece suporte ao IPython, apesar de ser
possível fazer a seleção dessa opção no formulário Opções Interativas. Para obter
mais informações, confira a solicitação de recurso (Support IPython when interp is
IronPython) .
Trabalho com a Janela Interativa
As etapas apresentadas a seguir mostram como usar os comandos do IPython na Janela
Interativa. Esse passo a passo pressupõe que você esteja usando o Anaconda.
1. No Visual Studio, selecione Exibir>Outras Janelas>Ambientes do Python para
abrir a janela Ambientes do Python.
2. Na janela Ambientes do Python, selecione um ambiente Anaconda.
3. Realize a comutação para a exibição Pacotes do ambiente para visualizar os
pacotes instalados. No menu suspenso, selecione Pacotes (Conda). A opção de
menu pode ser chamada de pip ou de Pacotes.
4. Confirme se as bibliotecas ipython e matplotlib estão instaladas para o ambiente.
Se ambas as bibliotecas não estiverem instaladas, siga as instruções em Tutorial:
Install packages in your Python environment in Visual Studio. Para obter mais
informações, confira a Guia Pacotes na referência de guias da janela Ambientes do
Python.
5. Realize a comutação para a exibição Visão Geral do ambiente e selecione a opção
Usar o modo interativo IPython.
6. Selecione Abrir janela interativa para exibir a Janela Interativa no modo IPython.
Talvez seja necessário restaurar a janela se ela já estiver aberta.
7. Quando a Janela Interativa for aberta, você deverá ver a primeira solicitação In
[1] . Se você vir a solicitação padrão >>> , insira “devolver” na solicitação para
garantir que a janela esteja usando o modo IPython. A solicitação deve ser alterada
para algo semelhante à In [2] .
8. Insira o seguinte código:
Python
import [Link] as plt
import numpy as np
x = [Link](0, 5, 10)
y = x ** 2
[Link](x, y, 'r', x, x ** 3, 'g', x, x ** 4, 'b')
9. Depois de inserir a última linha de código e selecionar Enter, você deverá ver uma
representação em gráfico embutida:
É possível redimensionar a representação em gráfico ao arrastá-la no canto inferior
direito.
10. Em vez de inserir o código diretamente na Janela Interativa, é possível realizar a
gravação do código no editor do Visual Studio e enviá-lo para a Janela Interativa:
a. Cole o código apresentado a seguir em um novo arquivo no editor.
b. Use o atalho de teclado Ctrl+A para selecionar o código no editor.
c. Clique com o botão direito do mouse no código selecionado e escolha Enviar
para o Interativo. Você também pode usar o atalho de teclado Ctrl+Enter.
O Visual Studio envia o código como um bloco único para a Janela Interativa para
evitar uma representação em gráfico intermediária ou parcial.
(Se você não tiver um projeto em Python aberto com um ambiente ativo
específico, o Visual Studio abrirá uma Janela Interativa para o ambiente padrão
listado na janela Ambientes do Python.)
Python
from mpl_toolkits.mplot3d import Axes3D
import [Link] as plt
import numpy as np
fig = [Link]()
ax = fig.add_subplot(111, projection='3d')
for c, z in zip(['r', 'g', 'b', 'y'], [30, 20, 10, 0]):
xs = [Link](20)
ys = [Link](20)
# You can provide either a single color or an array. To demonstrate
this,
# the first bar of each set is colored cyan.
cs = [c] * len(xs)
cs[0] = 'c'
[Link](xs, ys, zs=z, zdir='y', color=cs, alpha=0.8)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
[Link]()
11. Para realizar a exibição das representações em gráfico de forma externa à Janela
Interativa, execute o código com o comando Depurar>Começar sem a Depuração
na barra de ferramentas principal do Visual Studio.
O IPython tem muitos outros recursos úteis, como o escape para o shell do sistema, a
substituição de variáveis, a captura de saída, e assim por diante. Para obter mais
informações, confira a documentação do IPython .
Conteúdo relacionado
Trabalho com a Janela Interativa do Python no Visual Studio
Tutorial: Use the Interactive REPL window in Visual Studio
Comentários
Esta página foi útil? Yes No
Depurar código Python no Visual Studio
Artigo • 18/04/2024
O Visual Studio proporciona uma experiência de depuração abrangente para Python.
Neste artigo, você explora como anexar o depurador a processos em execução e avaliar
expressões nas janelas Observação e Imediata. No depurador, você pode inspecionar
variáveis locais, usar pontos de interrupção, instruções step in/out/over, Definir Próxima
Instrução e muito mais.
Para obter informações de depuração específicas do cenário, consulte estes artigos:
Depuração remota do Linux
Depuração de modo misto do Python/C++
Símbolos para a depuração de modo misto
Pré-requisitos
Ter o Visual Studio instalado e compatível com cargas de trabalho do Python. Para
obter mais informações, confira Instalar o suporte ao Python no Visual Studio.
Código Python para usar com o depurador.
Depurar código com ou sem projeto
Se você quiser controlar o ambiente Python e argumentos, primeiro crie um projeto
para seu código. Você pode criar um projeto com o modelo de projeto Com base em
um código existente do Python. Para obter mais informações, consulte o Crie um
projeto a partir de arquivos de código Python existentes.
Porém, você não precisa de um arquivo de projeto ou solução no Visual Studio para
depurar seu código Python. Para depurar código em um arquivo Python autônomo,
abra o arquivo no Visual Studio e selecione Depurar>Iniciar depuração. O Visual Studio
inicia o script com o ambiente padrão global e sem argumentos. Depois, você tem
suporte de depuração completo para seu código. Para saber mais, veja Ambientes do
Python.
Explorar a depuração básica
O fluxo de trabalho básico de depuração envolve a definição de pontos de interrupção,
a execução do código em etapas, a inspeção de valores e o tratamento de exceções.
Você pode iniciar uma sessão de depuração selecionando Debug>Iniciar depuração ou
use o atalho de teclado F5. Para um projeto, essas ações iniciam o arquivo de
inicialização com o ambiente ativo do projeto e quaisquer argumentos de linha de
comando ou caminhos de pesquisa especificados para Propriedades do Projeto. Para
configurar as propriedades, consulte Definir opções de depuração de projeto.
Definir o arquivo de inicialização do projeto
O arquivo de inicialização de um projeto é mostrado em negrito no Gerenciador de
Soluções. Você pode escolher qual arquivo usar como o arquivo de inicialização.
Para especificar um arquivo de projeto como o arquivo de inicialização, clique com
o botão direito do mouse no arquivo e selecione Definir como item de
inicialização.
No Visual Studio 2017 versão 15.6 e posterior, você verá um alerta caso não tenha um
conjunto de arquivos de inicialização especificado. Versões anteriores do Visual Studio
podem abrir uma janela Saída com o interpretador Python em execução ou a janela
Saída abre e fecha brevemente.
Especificar o ambiente ativo
Se você estiver usando um arquivo de projeto, o depurador sempre iniciará com o
ambiente Python ativo para o projeto. Você pode mudar o ambiente ativo atual. Para
obter mais informações, confira Selecionar um ambiente Python para um projeto.
Se você estiver depurando um arquivo de código Python autônomo, o Visual Studio
iniciará o script com o ambiente padrão global sem argumentos.
Definir Pontos de Interrupção
Os pontos de interrupção interrompem a execução de código em um ponto marcado,
para que você possa inspecionar o estado do programa.
Alguns pontos de interrupção no Python podem ser surpreendentes para
desenvolvedores que trabalharam com outras linguagens de programação. No Python,
todo o arquivo é um código executável, para que o Python execute o arquivo quando
ele é carregado para processar as definições de classe ou de função de nível superior. Se
um Ponto de interrupção estiver definido, você poderá descobrir que o depurador está
interrompendo uma declaração de classe parcialmente. Esse comportamento é correto,
mesmo que às vezes seja surpreendente.
Para definir um Ponto de interrupção, selecione na margem esquerda do editor de
código ou clique com o botão direito em uma linha de código e selecione Ponto
de interrupção>Insert Breakpoint. Um ponto vermelho é exibido em cada linha
com Ponto de interrupção.
Para remover um Ponto de interrupção, selecione o ponto vermelho ou clique com
o botão direito na linha de código e selecione Ponto de interrupção>Excluir
Ponto de interrupção. Você também pode desabilitar um Ponto de interrupção
selecionando o ponto vermelho e selecionando Ponto de interrupção>Desabilitar
Ponto de interrupção.
Definir condições e ações
É possível personalizar as condições nas quais um ponto de interrupção é disparado,
como a interrupção somente quando uma variável é configurada para um determinado
valor ou intervalo de valores.
Para definir condições, clique com o botão direito no ponto vermelho do ponto de
interrupção e selecione Condições. A caixa de diálogo Configurações do ponto de
interrupção é aberta.
Na caixa de diálogo, você pode adicionar várias condições e criar expressões
condicionais com o código Python. Para obter detalhes completos sobre esse
recurso no Visual Studio, confira Condições de ponto de interrupção.
Você também tem as opções para definir Ações para um Ponto de interrupção.
Você pode criar uma mensagem para registrar na janela Saída e, opcionalmente,
especificar para continuar a execução automaticamente.
Registrar uma mensagem cria o que um tracepoint que não adiciona código de log
ao aplicativo diretamente.
Dependendo de como você configura as condições e ações para um ponto de
interrupção, o ícone vermelho na margem esquerda muda para indicar suas
configurações. Você pode ver a forma do ponto, um cronômetro ou um diamante.
Percorrer o código
Quando o Visual Studio interrompe a execução de código em um ponto de interrupção,
há diversos comandos que você pode usar para percorrer seu código ou executar
blocos de código antes de quebrar novamente. Os comandos estão disponíveis em
alguns lugares no Visual Studio, incluindo a barra de ferramentas Depurador, o menu
Depurar, o menu de contexto do botão direito do mouse no editor de código e pelos
atalhos de teclado.
Depois, a tabela resume esses comandos e fornece o atalho de teclado:
ノ Expandir a tabela
Comando Atalho Descrição
Continuar F5 Execute o código até chegar ao próximo ponto de interrupção.
Intervir F11 Execute a próxima instrução e parada. Se a próxima instrução
for uma chamada a uma função, o depurador parará na
primeira linha da função chamada.
Contornar F10 Execute a próxima instrução, incluindo fazer uma chamada a
uma função (executando todo o código) e aplicar qualquer
valor retornado. Este comando permite a depuração parcial
permite ignorar facilmente as funções que não precisam ser
depuradas.
Sair Shift+F11 Execute o código até o final da função atual e, depois, vá para a
instrução de chamada. Esse comando é útil quando não é
necessário depurar o restante da função atual.
Executar até Ctrl+F10 Execute o código até a localização do cursor no editor. Esse
o cursor comando permite ignorar facilmente um segmento de código
que não precisa ser depurado.
Definir Ctrl+Shift+F10 Altere o ponto de execução atual no código para a localização
Próxima atual do cursor. Esse comando permite omitir a execução de um
Instrução segmento de código, como nos casos em que você sabe que o
código tem uma falha ou produz um efeito colateral
indesejado.
Mostrar Alt+Num+\ Volte à próxima instrução a ser executada no código. Esse
Próxima comando ajuda a localizar o lugar no código onde o depurador
Instrução está parado.
Inspecionar e modificar valores
Ao interromper a execução do código no depurador, você poderá inspecionar e
modificar os valores das variáveis. Use também a janela Inspeção para monitorar
variáveis individuais e expressões personalizadas. Para obter mais informações, consulte
Inspecionar variáveis.
Para exibir um valor usando o recurso DataTips durante a depuração, basta passar
o mouse sobre qualquer variável no editor. Você pode selecionar o valor da
variável para alterá-lo:
Para usar a janela Automáticos, selecione Depurar>Windows>Automáticos. Esta
janela contém variáveis e expressões próximas da instrução atual. Clique duas
vezes na coluna do valor ou selecione e pressione F2 para editar o valor:
Para obter mais informações sobre como usar a janela Automáticos, consulte
Inspecionar variáveis nas janelas Automáticos e Locais.
Para usar a janela Locais, selecione Depurar>Windows>Locais. Esta janela mostra
todas as variáveis que estão no escopo atual, que podem ser editadas novamente:
Para obter mais informações sobre como usar a janela Locais, consulte Inspecionar
variáveis nas janelas Automáticos e Locais.
Para usar as janelas Assistir, selecione Depurar>Windows>Assistir>Assistir 1-4.
Essa opção permite que você insira expressões arbitrárias do Python e veja os
resultados. As expressões são reavaliadas para cada etapa:
Para obter mais informações sobre como usar a janela Inspeção, consulte Definir
uma inspeção em variáveis usando as janelas Inspeção e QuickWatch.
Para inspecionar um valor de cadeia de caracteres, selecione Exibir (lupa) no lado
direito da entrada Valor. Os tipos str , unicode , bytes , e bytearray estão todos
disponíveis para inspeção.
O menu suspenso Exibir mostra quatro opções de visualização: Texto, HTML, XML
ou JSON.
Depois de selecionar uma visualização, uma caixa de diálogo pop-up exibe o valor
da cadeia de caracteres sem aspas de acordo com o tipo selecionado. Você pode
exibir a cadeia de caracteres com a quebra automática e rolagem, realce de sintaxe
e exibições em árvore. Essas visualizações podem ajudar a depurar problemas de
cadeias de caracteres longas e complexas.
Exibir exceções
Se ocorrer um erro no programa durante a depuração, mas você não tiver um
manipulador de exceção para ele, o depurador interromperá no ponto da exceção:
Quando ocorrer um erro, você pode inspecionar o estado atual do programa, incluindo
a pilha de chamadas. Porém, se você percorrer o código, o processo de depuração
continuará lançando a exceção até que ela seja tratada ou o programa seja encerrado.
Para ver uma exibição expandida de exceções, selecione
Depurar>Windows>Configurações de exceção.
Na janela Configurações de exceções, a caixa de seleção ao lado de uma exceção
controla se o depurador always quebra quando essa exceção é gerada.
Para quebrar com mais frequência para uma exceção específica, marque a caixa de
seleção ao lado da exceção na janela Configurações de exceção.
Por padrão, a maioria das exceções interromperá quando não for possível
encontrar um manipulador de exceção no código-fonte. Para alterar esse
comportamento, clique com o botão direito do mouse em qualquer exceção e
modifique a opção Continuar Quando Não For Tratada no Código do Usuário.
Para quebrar com menos frequência para a exceção, desmarque a opção.
Para configurar uma exceção que não aparece na janela Configurações de
Exceção, selecione Adicionar (símbolo de adição). Digite um nome para a exceção
a ser observada. O nome deve corresponder ao nome completo da exceção.
Configurar opções de depuração de projeto
Por padrão, o depurador inicia o programa com o inicializador padrão do Python, sem
argumentos de linha de comando e sem nenhum outro caminho ou condição especial.
Você pode configurar as opções de inicialização para um projeto Python ao definir as
propriedades de depuração.
Para acessar as propriedades de depuração de um projeto, clique com o botão
direito do mouse no projeto Python no Gerenciador de soluções, selecione
Propriedades, e selecione a guia Depurador.
As seções seguintes descrevem as propriedades específicas.
Definir comportamento de inicialização
A tabela a seguir lista os valores possíveis para a propriedade Modo de inicialização.
Use esta propriedade para definir o comportamento de inicialização do depurador.
ノ Expandir a tabela
Valor Descrição
Inicializador Use o código de depuração escrito no Python portátil que é compatível com o
padrão do CPython, IronPython e variantes como o Stackless Python. Essa opção fornece a
Python melhor experiência de depuração de código puro do Python. Quando você o
anexa a um processo [Link] em execução, o Launcher especificado nessa
propriedade é usado. Esse iniciador também fornece a depuração de modo
misto para o CPython, que permite a execução em etapas direta entre o código
do C/C++ e o código do Python.
Inicializador Inicie o navegador padrão na inicialização e habilita a depuração de modelos.
da Web Para mais informações, consulte a seção Depuração de modelos da Web.
Valor Descrição
Inicializador Implemente um comportamento idêntico à propriedade Web launcher para um
da Web do ambiente Django. Use esta opção somente para fins de compatibilidade com
Django versões anteriores.
Inicializador Use o depurador do .NET, que funciona somente com o IronPython, mas que
do IronPython permite a execução em etapas entre qualquer projeto de linguagem .NET,
(.NET) incluindo C# e Visual Basic. Esse inicializador é usado se você se anexar a um
processo em execução do .NET que hospeda o IronPython.
Definir comportamento de execução
A tabela a seguir descreve as propriedades que você pode definir para configurar o
comportamento de execução do depurador.
ノ Expandir a tabela
Propriedade Descrição
Caminhos de Especifique os caminhos de pesquisa de arquivo e pasta que o Visual Studio
Pesquisa usa para o seu projeto. Esses valores correspondem os itens mostrados no nó
Caminhos de Pesquisa do projeto no Gerenciador de Soluções. Embora você
possa especificar caminhos de pesquisa nessa caixa de diálogo, pode ser mais
fácil usar o Gerenciador de Soluções, onde você pode navegar nas pastas e
converter automaticamente os caminhos em formato relativo.
Argumentos do Defina os argumentos a serem adicionados ao comando que o Visual Studio
script usa para iniciar seu script e aparecem após o nome do arquivo do seu script. O
primeiro item listado no valor está disponível para o script como [Link][1] ,
o segundo como [Link][2] e assim por diante.
Argumentos do Liste os argumentos para adicionar à linha de comando do inicializador antes
interpretador do nome do script. Os argumentos comuns aqui são -W ... para controlar
avisos, -O para otimizar ligeiramente o programa e -u para usar o E/S não
armazenado em buffer. Provavelmente, os usuários do IronPython usarão esse
campo para passar opções -X , como -X:Frames ou -X:MTA .
Caminho do Identifique um caminho de intérprete para substituir o caminho associado ao
Interpretador ambiente presente. O valor poderá ser útil para iniciar o script com um
interpretador não padrão.
Variáveis de Use essa propriedade para adicionar entradas do formato <NAME>=\<VALUE> . O
Ambiente Visual Studio aplica esse valor de propriedade por último, sobre qualquer
variável de ambiente global existente, e depois PYTHONPATH é definido de
acordo com a configuração Caminhos de pesquisa. Como resultado, essa
configuração pode ser usada para substituir manualmente qualquer uma
destas outras variáveis.
Trabalhe com janelas interativas
Há duas janelas interativas que podem ser usadas durante uma sessão de depuração: a
janela padrão do Visual Studio e a janela Imediata e a janela Interativa de Depuração
do Python.
Abrir a janela Imediata
Você pode usar a janela padrão Imediata do Visual Studio para avaliar rapidamente
expressões Python e inspecionar ou atribuir variáveis em seu programa em execução.
Para obter mais informações, consulte Janela Imediata.
Para abrir a janela Immediate, selecione Depurar>Windows>Imediata. Você
também pode usar o atalho de teclado Ctrl+Alt+I.
Abra a Janela Interativa de Depuração
A Janela Interativa de Depuração oferece um ambiente rico com a experiência
completa REPL Interativo interativo disponível durante a depuração, incluindo a
gravação e execução de código. Essa janela se conecta automaticamente a qualquer
processo iniciado no depurador usando o inicializador Padrão do Python, incluindo os
processos anexados por meio de Depurar>Anexar ao Processo. Porém, esta janela não
está disponível ao usar a depuração C/C++ de modo misto.
Para usar a janela Interativa de Depuração, selecione
Depurar>Windows>Interativa de Depuração do Python (Shift+Alt+I).
A janela Interativa de Depuração suporta meta-comandos especiais além do comandos
REPL padrão, conforme descrito na tabela a seguir:
ノ Expandir a tabela
Comando Descrição
$continue , $cont , $c Inicie a execução do programa da instrução atual.
$down , $d Move o quadro atual um nível para baixo no rastreamento de pilha.
$frame Exiba a ID de quadro atual.
$frame Mude a ID de quadro atual para a ID de quadro especificada.
- Requer um argumento de <ID de quadro>.
$load Carregue comandos do arquivo e os executa até a conclusão.
$proc Exiba a ID de processo atual.
$proc Mude a ID de processo atual para a ID de processo especificada.
- Requer um argumento de <ID de processo>.
$procs Liste os processos que estão sendo depurados no momento.
$stepin , $step , $s Intervenha na próxima chamada de função, se possível.
$stepout , $return , $r Encaminhe-se para fora da função atual.
$stepover , $until , $unt Depure parcialmente a próxima chamada de função.
Comando Descrição
$thread Exiba a ID de thread atual.
$thread Mude a ID de thread atual para a ID de thread especificada.
- Requer um argumento de <ID de thread>.
$threads Liste os threads que estão sendo depurados no momento.
$up , $u Move o quadro atual um nível para cima no rastreamento de pilha.
$where , $w , $bt Liste os quadros do thread atual.
As janelas padrão do depurador, como Processos, Threads e Pilha de Chamadas, não
são sincronizadas com a janela Interativa de Depuração. Se você alterar o processo,
thread ou quadro ativo no Debug Interactive não afeta as outras janelas do depurador.
Da mesma forma, a alteração do processo, do thread ou do quadro ativo nas outras
janelas do depurador não afeta a janela Interativa de Depuração.
Usar o depurador herdado
Dependendo da configuração do ambiente, talvez seja preciso usar o depurador
herdado:
O Visual Studio 2017 versão 15.7 e anterior com Python 2.6, 3.1 a 3.4 ou
IronPython
O Visual Studio 2019 versão 16.5 e posterior com Python 2.6, 3.1 a 3.4 ou
IronPython
ptvsd 3.x e versões anteriores 4.x
O depurador herdado é o padrão no Visual Studio 2017 versão 15.7 e anterior.
Para usar o depurador herdado, selecione Ferramentas>Opções, expanda as
opções Python>Depurando e selecione a opção Usar depurador legado.
Suporte a versões mais antigas do Visual Studio ou
Python
O Visual Studio 2017 versão 15.8 e posteriores usam um depurador com base no ptvsd
versão 4.1 e superior. O Visual Studio 2019 versão 16.5 e posteriores usam um
depurador baseado no debugpy. Essas duas versões do depurador são compatíveis com
o Python 2.7 ou Python 3.5 e superiores.
Se você estiver executando uma dessas versões do Visual Studio, mas estiver usando
Python 2.6, 3.1 a 3.4 ou IronPython, o Visual Studio mostrará o erro O depurador não
dá suporte a este ambiente do Python:
Quando o Visual Studio informa esse erro de ambiente, você deve usar o depurador
herdado.
Suporte a versões ptvsd mais antigas
Se você tiver usando uma versão mais antiga do ptvsd no ambiente atual (como uma
versão 4.0.x anterior ou uma versão 3.x necessária para a depuração remota), o Visual
Studio poderá mostrar um erro ou aviso.
Se seu ambiente usa ptvsd 3.x, Visual Studio mostra o erro Não foi possível carregar o
pacote do depurador:
O aviso O pacote do depurador está desatualizado será exibido se você estiver usando
uma versão 4.x anterior do ptvsd:
Quando o Visual Studio informa esses error de ambiente, você deve usar o depurador
herdado.
) Importante
Embora você possa optar por ignorar o aviso em algumas versões do ptvsd, o
Visual Studio pode não funcionar corretamente.
Gerenciar a instalação do ptvsd
Siga estes passos para gerenciar sua instalação ptvsd:
1. Na janela Ambientes do Python, acesse a guia Pacotes.
2. Insira ptvsd na caixa de pesquisa e examine a versão do ptvsd instalada:
3. Se a versão for inferior à 4.1.1a9 (a versão empacotada com o Visual Studio),
selecione o X à direita do pacote para desinstalar a versão mais antiga. Assim, o
Visual Studio passará a usar a versão empacotada. Você também pode desinstalar
do PowerShell usando o comando pip uninstall ptvsd .
4. Como alternativa, você pode atualizar o pacote ptvsd para a última versão
seguindo as instruções na seção Solução de problemas.
Solução de problemas de cenários de
depuração
Os cenários a seguir descrevem outras opções de solução de problemas para a
configuração de depuração.
Atualizar o ptvsd para Visual Studio 2019
Se você tiver problemas com o depurador no Visual Studio 2019 versão 16.4 e anterior,
atualize primeiro sua versão do depurador da seguinte maneira:
1. Na janela Ambientes do Python, acesse a guia Pacotes.
2. Insira ptvsd --upgrade na caixa de pesquisa, em seguida, selecione Executar o
comando: pip install ptvsd --upgrade. (Você também pode usar o mesmo
comando no PowerShell).
Se o problema persistir, registre o problema no Repositório GitHub do PTVS .
7 Observação
No Visual Studio 2019 versão 16.5 e posteriores, a depuração faz parte da
carga de trabalho do Python no Visual Studio e é atualizada junto com o
Visual Studio.
Habilitar registro em log do depurador
Ao investigar o problema do depurador, a Microsoft pode solicitar que você habilite e
colete logs de depurador para ajudar no diagnóstico.
As seguintes etapas habilitam a depuração na sessão atual do Visual Studio:
1. Abra uma janela de comando no Visual Studio selecionando Visualizar>Outros
Windows>Janela de Comando.
2. Insira o seguinte comando:
Console
[Link] /On /OutputWindow
3. Inicie a depuração e veja todas as etapas necessárias para reproduzir o problema.
Durante esse tempo, os logs de depuração aparecem na janela Saída em Log de
Host do Adaptador de Depuração. Depois, você poderá copiar os logs dessa
janela e colá-los em um problema do GitHub, em um email etc.
4. Se o Visual Studio parar de responder ou se não for possível acessar a janela Saída,
reinicie o Visual Studio, abra uma janela de comando e digite o seguinte comando:
Console
[Link] /On
5. Inicie a depuração e reproduza o problema novamente. Os logs do depurador
ficam em %temp%\[Link] .
Conteúdo relacionado
Depurando no Visual Studio
Depuração de modo misto do Python/C++
Símbolos para a depuração de modo misto
Comentários
Esta página foi útil? Yes No
Depurar remotamente o código Python
no Linux no Visual Studio
Artigo • 18/04/2024
Neste artigo, você explora como configurar a instalação do Visual Studio para dar
suporte à depuração de código Python em computadores Linux remotos. Este passo a
passo é baseado no Visual Studio 2019 versão 16.6.
O Visual Studio pode iniciar e depurar aplicativos Python local e remotamente em um
computador Windows. O Visual Studio também dá suporte à depuração também pode
depurar remotamente em um dispositivo ou sistema operacional diferente ou em uma
implementação Python que não seja o CPython usando a biblioteca debugpy .
O Visual Studio 2019 versão 16.4 e anterior usa a biblioteca ptvsd . No Visual Studio
2019 versão 16.5 e posterior, a biblioteca debugpy substitui a ptvsd. Quando você usa a
debugpy, o código do Python que está sendo depurado hospeda o servidor de
depuração ao qual o Visual Studio pode se anexar. Essa hospedagem exige uma
pequena modificação no seu código para importar e habilitar o servidor. Talvez também
seja preciso ajustar as configurações de rede ou firewall no computador remoto para
permitir as conexões TCP.
Pré-requisitos
Ter o Visual Studio instalado e compatível com cargas de trabalho do Python. Para
obter mais informações, confira Instalar o suporte ao Python no Visual Studio.
Um computador remoto que execute o Python em um sistema operacional como
o Mac OSX ou Linux.
A porta 5678 (entrada) abre no firewall desse computador remoto, que é o padrão
para a depuração remota.
Configurar um computador Linux
Crie com facilidade uma máquina virtual do Linux no Azure e acesse-a usando a Área de
Trabalho Remota no Windows. O Ubuntu para a máquina virtual é conveniente porque o
Python é instalado por padrão. Se você tiver outra configuração, consulte Instalar
interpretadores do Python para outros locais de download do Python.
Configurar o firewall
A porta de entrada 5678 deve estar aberta no firewall do computador remoto para dar
suporte à depuração remota.
Para ver em detalhes como criar uma regra de firewall para uma máquina virtual do
Azure, consulte estes artigos:
Filtrar tráfego de rede com um grupo de segurança de rede usando o Portal do
Azure
Rotear tráfego com uma tabela de rotas utilizando o Portal do Azure
Implantar e configurar o Firewall do Azure usando o portal do Azure
Preparar o script para depuração
Siga estes passos para preparar um script para depurar seu código Python no Linux.
1. No computador remoto, crie um arquivo do Python chamado [Link]
com este código:
Python
import random
guesses_made = 0
name = input('Hello! What is your name?\n')
number = [Link](1, 20)
print('Well, {0}, I am thinking of a number between 1 and
20.'.format(name))
while guesses_made < 6:
guess = int(input('Take a guess: '))
guesses_made += 1
if guess < number:
print('Your guess is too low.')
if guess > number:
print('Your guess is too high.')
if guess == number:
break
if guess == number:
print('Good job, {0}! You guessed my number in {1}
guesses!'.format(name, guesses_made))
else:
print('Nope. The number I was thinking of was {0}'.format(number))
2. Instale o pacote debugpy no ambiente usando o comando pip3 install debugpy .
7 Observação
É recomendável gravar a versão do debugpy que está instalada caso você
precise dela para solução de problemas. A listagem debugpy também
mostra as versões disponíveis.
3. Habilite a depuração remota adicionando o seguinte código na parte superior do
arquivo [Link] antes de outro código. (Embora esse não seja um
requisito estrito, é impossível depurar os threads em segundo plano gerados antes
que a função listen seja chamada.)
Python
import debugpy
[Link](('[Link]', 5678))
4. Salve o arquivo e execute o programa:
Python
python3 [Link]
A chamada para a função listen é executada em segundo plano e aguarda as
conexões de entrada enquanto você interage com o programa de outra maneira.
Se quiser, você pode chamar a função wait_for_client depois de chamar a função
listen para bloquear o programa até que o depurador seja anexado.
Dica
Além das funções listen e wait_for_client , o debugpy também fornece uma
função breakpoint . Essa função serve como ponto de interrupção programático se
o depurador estiver conectado. Outra função, is_client_connected1 , retorna True
se o depurador for anexado. Você não precisa verificar esse resultado antes de
chamar outras funções debugpy .
Anexar remotamente por meio das
Ferramentas Python
Os passos a seguir mostram como definir um ponto de interrupção para interromper o
processo remoto.
1. Crie uma cópia do arquivo remoto no computador local e abra-a no Visual Studio.
Não importa a localização do arquivo, mas o nome deve corresponder ao nome do
script no computador remoto.
2. (Opcional) Para ter o IntelliSense para debugpy no computador local, instale o
pacote de debugpy em seu ambiente de Python.
3. Selecione Depurar>Anexar ao Processo.
4. Na caixa de diálogo Anexar ao processo, defina Tipo de conexão como Python
remoto (debugpy).
5. No campo Destino da conexão, insira o comando tcp://<ip_address>:5678 .
O tcp:// especifica o tipo de conexão como Protocolo TCP (protocolo de
controle de transmissão).
<ip_address> é o endereço IP do computador remoto; ele pode ser um
endereço explícito ou um nome como [Link].
:5678 é o número da porta de depuração remota.
6. Selecione Enter para popular a lista de processos do debugpy disponíveis nesse
computador:
Se outro programa for iniciado no computador remoto após a lista ser populada,
selecione o botão Atualizar.
7. Selecione o processo a ser depurado e selecione Anexar ou clique duas vezes no
processo.
8. Então, o Visual Studio alternará para o modo de depuração enquanto o script
continuará a ser executado no computador remoto, fornecendo todos os recursos
normais de depuração.
Você pode definir um ponto de interrupção na linha if guess < number: e, em
seguida, mude para o computador remoto e insira outra tentativa. O Visual Studio
do seu computador local parará no ponto de interrupção, mostrará variáveis locais
e assim por diante:
9. Quando você parar de depurar, o Visual Studio irá se desanexar do programa. O
programa continua sendo executado no computador remoto. O debugpy também
continua a escuta para anexar depuradores, assim, é possível anexá-los novamente
ao processo a qualquer momento.
Solucionar problemas de conexão
Analise os seguintes pontos para ajudar a solucionar problemas com a conexão.
Certifique-se de selecionar Python remota (debugpy) para Tipo de Conexão
Confirme que o segredo no Destino de Conexão corresponde exatamente ao
segredo no código remoto.
Confirme o endereço IP no Destino de Conexão corresponde ao do computador
remoto.
Verifique se a porta de depuração remota do computador remoto está aberta e se
o destino da conexão inclui o sufixo da porta, como :5678 .
Para usar outra porta, especifique o número da porta na chamada para a função
listen , como em [Link]((host, port)) . Nesse caso, certifique-se de abrir
a porta específica no firewall.
Confirme se a versão de depuração instalada no computador remoto (conforme
retornado pelo comando pip3 list ) corresponde à versão do Visual Studio
Python Tools (PTVS).
A tabela a seguir lista os pares de versões válidos. Conforme necessário, atualize
no computador remoto a versão do debugpy.
ノ Expandir a tabela
Visual Studio Ferramentas do Python debugpy
2019 16.6 1.0.0b5 1.0.0b5
2019 16.5 1.0.0b1 1.0.0b1
7 Observação
O Visual Studio 2019 versão 16.0-16.4 utilizou ptvsd, não debugpy. O processo
neste passo a passo para essas versões é semelhante, mas os nomes das funções
são diferentes. O Visual Studio 2019 versão 16.5 usa depuração, mas os nomes de
função eram iguais aos do ptvsd. Em vez de listen , você usaria enable_attach . Em
vez de wait_for_client , você usaria wait_for_attach . Em vez de breakpoint , você
usaria break_into_debugger .
Usar ptvsd 3.x para depuração herdada
O depurador herdado do ptvsd 3.x é o padrão no Visual Studio 2017 versão 15.7 e
anterior.
Dependendo da configuração do Visual Studio, talvez seja preciso usar o ptvsd 3.x para
depuração remota:
O Visual Studio 2017 versão 15.7 e anterior com Python 2.6, 3.1 a 3.4 ou
IronPython
O Visual Studio 2019 versão 16.5 e posterior com Python 2.6, 3.1 a 3.4 ou
IronPython
Versões 4.x anteriores
Se sua configuração implementar um cenário de versão mais antiga, o Visual Studio
mostrará o erro, O depurador não dá suporte a este ambiente do Python.
Configurar depuração remota
Para se preparar para a depuração remota com o ptvsd 3.x, siga estes passos:
1. Configure seu segredo, que é usado para restringir acesso ao script em execução.
No ptvsd 3.x, a função enable_attach requer que você passe um "segredo" como
o primeiro argumento.
Ao anexar o depurador remoto, insira o segredo com o comando
enable_attach(secret="<secret>") .
Embora você possa permitir que qualquer pessoa se conecte usando o comando
enable_attach(secret=None) , essa opção não é recomendada.
2. Crie a sua URL de destino de conexão no formato
tcp://<secret>@<ip_address>:5678 .
tcp:// especifica o tipo de conexão como TCP.
<secret> é a cadeia de caracteres passada com a função enable_attach no
código Python.
<ip_address> é o endereço IP do computador remoto; ele pode ser um
endereço explícito ou um nome como [Link].
:5678 é o número da porta de depuração remota.
Conexão segura com protocolo TCPS
Por padrão, a conexão com o servidor de depuração remota ptvsd 3.x é protegida
somente pelo segredo e todos os dados são passados em texto sem formatação. Para
uma conexão mais segura, o ptvsd 3.x dá suporte a SSL usando a forma segura do
protocolo TCP ou TCPS.
Use estes passos para configurar o ptvsd 3.x para funcionar com o protocolo TCPS:
1. No computador remoto, use o comando openssl para gerar arquivos separados
para a chave e o certificado autoassinado:
Console
openssl req -new -x509 -days 365 -nodes -out [Link] -keyout [Link]
No prompt, openssl digite o nome do host ou o endereço IP que você usa
para se conectar ao Nome comum.
Para obter mais informações, consulte Certificados autoassinados na
documentação do módulo Python ssl . Observe que o comando descrito na
documentação do Python gera somente um único arquivo combinado.
2. No código, modifique a chamada para a função enable_attach para incluir os
argumentos certfile e keyfile usando os nomes de arquivos como os valores.
Esses argumentos têm o mesmo significado que para a função Python padrão
ssl.wrap_socket .
Python
ptvsd.enable_attach(secret='my_secret', certfile='[Link]',
keyfile='[Link]')
Você também pode fazer a mesma modificação no arquivo de código no
computador local. Como esse código não é executado, ele não é estritamente
necessário.
3. Reinicie o programa de Python no computador remoto para que fique pronto para
depuração.
4. Proteja o canal adicionando o certificado à AC Raiz Confiável no computador
Windows com o Visual Studio:
a. Copie o arquivo de certificado do computador remoto para o computador local.
b. Abra o Painel de Controle e acesse Ferramentas do Windows>Gerenciar
certificados de computador.
c. Na caixa de diálogo certlm [Certificados - computador local], expanda o nó
Autoridades de Certificação Confiáveis, clique com o botão direito em
Certificados e selecione Todas as tarefas>Importar.
d. Procure e selecione o arquivo .cer copiado do computador remoto.
e. Continue pelos prompts da caixa de diálogo para concluir o processo de
importação.
5. Repita o processo de anexação no Visual Studio, como descrito anteriormente em
Anexar remotamente por meio das Ferramentas Python.
Para este caso, defina tcps:// como o protocolo para o Destino da conexão (ou
Qualificador).
Resolver os problemas de conexão
Ao tentar a conexão, o Visual Studio pode encontrar problemas. Analise os cenários a
seguir e aplique a ação apropriada, conforme necessário.
O Visual Studio avisa sobre possíveis problemas de certificado ao se conectar via
SSL.
Ação: você pode ignorar a mensagem e continuar.
U Cuidado
Lembre-se de que, embora o canal ainda esteja criptografado contra
espionagem, ele pode estar aberto a ataques de man-in-the-middle.
O Visual Studio exibe o aviso de certificado remoto não confiável.
Problema: o certificado não foi adicionado corretamente à AC de Raiz Confiável.
Ação: verifique novamente os passos para adicionar o certificado à AC de Raiz
Confiável no computador Windows e tente a conexão novamente.
O Visual Studio mostra o aviso O nome do certificado remoto não corresponde
ao nome do host.
Problema: o nome de host ou endereço IP apropriado não está especificado para
o Nome comum do certificado.
Ação: verifique novamente os passos em Proteger a conexão com TCPS.
Certifique-se de usar o Nome comum correto ao criar o certificado e tente a
conexão novamente.
Conteúdo relacionado
Depuração remota
Comentários
Esta página foi útil? Yes No
Criar uma extensão C++ para o Python
no Visual Studio
Artigo • 18/04/2024
Neste artigo, veja como criar um módulo de extensão C++ para CPython que calcula
uma tangente hiperbólica e faz uma chamada a ela do código Python. A rotina é
implementada primeiro em Python para demonstrar o ganho de desempenho relativo
da implementação da mesma rotina em C++.
Os módulos escritos em C++ (ou C) são normalmente usados para estender os recursos
de um interpretador do Python. Há três tipos principais de módulos de extensão:
Módulos de acelerador: permitem um desempenho acelerado. Como Python é
uma linguagem interpretada, você pode escrever módulos de acelerador no C++
para obter um desempenho mais alto.
Módulos de wrapper: expõem interfaces C/C++ existentes para o código Python
ou expõem uma API mais "Pythonic" fácil de usar do Python.
Módulos de acesso de baixo nível do sistema: criam módulos de acesso ao
sistema para acessar os recursos de baixo nível do runtime CPython , do sistema
operacional ou do hardware subjacente.
Este artigo também demonstra duas maneiras de disponibilizar um módulo de extensão
C++ para Python:
Utilize as extensões CPython padrão, conforme descrito na Documentção
Python .
Utilize PyBind11 , recomendamos para C++ 11 devido à sua simplicidade. Para
garantir a compatibilidade, confirme que você esteja trabalhando com uma das
versões mais recentes do Python.
O exemplo completo deste passo a passo está no GitHub em python-samples-vs-cpp-
extension .
Pré-requisitos
O Visual Studio 2017 ou posterior com a carga de trabalho de desenvolvimento
Python instalada. A carga de trabalho inclui as ferramentas de desenvolvimento
nativo do Python, que adicionam a carga de trabalho do C++ e os conjuntos de
ferramentas necessários para extensões nativas.
Para obter mais informações sobre as opções de instalação, consulte Instalar o
suporte do Python para Visual Studio.
7 Observação
Quando você instala a da carga de trabalho Aplicativos de ciência de dados e
análise, o Python e a opção Ferramentas nativas de desenvolvimento em
Python são instaladas por padrão.
Se você instalar o Python separadamente, lembre-se de selecionar Baixar símbolos
de depuração em Opções Avançadas no instalador Python. Essa opção é
necessária para que você use a depuração de modo misto entre o código Python e
o código nativo.
Criar o aplicativo do Python
Siga estes passos para criar o aplicativo Python.
1. Crie um novo projeto Python no Visual Studio escolhendo
Arquivo>Novo>Projeto.
2. Na caixa de diálogo Criar um novo projeto, pesquise por python. Selecione o
modelo Aplicativo do Python e Avançar.
3. sira um Nome do Projeto e Localização, e selecione Criar.
O Visual Studio cria o projeto. O projeto é aberto no Gerenciador de Soluções e o
arquivo de projeto (.py) é aberto no editor de códigos.
4. o arquivo .py, cole o código a seguir. Para experimentar alguns recursos de edição
do Python, tente inserir o código manualmente.
Esse código calcula uma tangente hiperbólica sem usar a biblioteca de matemática
e é isso que você vai acelerar com extensões nativas Python.
Dica
Escreva seu código em Python puro antes de reescrevê-lo em C++. Dessa
forma, você pode verificar com mais facilidade se o código nativo Python está
correto.
Python
from random import random
from time import perf_counter
# Change the value of COUNT according to the speed of your computer.
# The value should enable the benchmark to complete in approximately 2
seconds.
COUNT = 500000
DATA = [(random() - 0.5) * 3 for _ in range(COUNT)]
e = 2.7182818284590452353602874713527
def sinh(x):
return (1 - (e ** (-2 * x))) / (2 * (e ** -x))
def cosh(x):
return (1 + (e ** (-2 * x))) / (2 * (e ** -x))
def tanh(x):
tanh_x = sinh(x) / cosh(x)
return tanh_x
def test(fn, name):
start = perf_counter()
result = fn(DATA)
duration = perf_counter() - start
print('{} took {:.3f} seconds\n\n'.format(name, duration))
for d in result:
assert -1 <= d <= 1, " incorrect values"
if __name__ == "__main__":
print('Running benchmarks with COUNT = {}'.format(COUNT))
test(lambda d: [tanh(x) for x in d], '[tanh(x) for x in d] (Python
implementation)')
5. Execute o programa selecionando Depurar>Iniciar sem Depuração ou
selecionando Ctrl+F5.
Uma janela de comando é aberta e mostra a saída do programa.
6. Na saída, veja a quantidade de tempo relatada para o processo de benchmark.
Para este passo a passo, o processo de benchmark deve levar cerca de 2 segundos.
7. Conforme necessário, ajuste o valor da variável COUNT no código para permitir que
o benchmark seja concluído em cerca de 2 segundos no computador.
8. Execute o programa novamente e veja se o valor modificado COUNT produz o
benchmark em cerca de 2 segundos.
Dica
Ao executar parâmetros de comparação, sempre use a opção Depuração>Iniciar
sem Depuração. Este método ajuda a evitar a sobrecarga que você incorre ao
executar o código no depurador do Visual Studio.
Criar os projetos principais de C++
Siga estes passos para criar dois projetos C++ idênticos, superfastcode e superfastcode2.
Posteriormente, você usará uma abordagem diferente em cada projeto para expor o
código C++ para Python.
1. No Gerenciador de Soluções, clique com o botão direito do mouse no nó da
solução e selecione Adicionar>Novo projeto.
Uma solução do Visual Studio pode conter os projetos Python e C++, que é uma
das vantagens de usar o Visual Studio para desenvolvimento Python.
2. Na caixa de diálogo Adicionar um novo projeto, defina o filtro Idioma como C++,
e insira vazio na caixa Pesquisar.
3. a lista de resultados do modelo de projeto, selecione Projeto vazio, e selecione
Avançar.
4. Na caixa de diálogo Configurar seu novo projeto, insira o Nome do projeto:
Para o primeiro projeto, insira o nome superfastcode.
Para o segundo projeto, insira o nome superfastcode2.
5. Selecione Criar.
Lembre-se de repetir esses passos e criar dois projetos.
Dica
Uma abordagem alternativa fica disponível quando você tem as ferramentas de
desenvolvimento nativo Python instaladas no Visual Studio. Você pode começar
com o modelo Módulo de extensão do Python, que pré-conclui vários passos
descritos neste artigo.
Para o passo a passo deste artigo, começar com um projeto vazio ajuda a
demonstrar como construir o módulo de extensão passo a passo. Depois de
entender o processo, você pode usar o modelo alternativo para poupar tempo ao
escrever suas próprias extensões.
Adicione o o arquivo C++ ao projeto
Depois, adicione um arquivo C++ a cada projeto.
1. Em Gerenciador de Soluções, expanda o projeto, clique com o botão direito do
mouse no nó Arquivos de origem e selecione Adicionar>Novo item.
2. Na lista de modelos de arquivo, selecione o Arquivo C++ (.cpp).
3. Insira o Nome para o arquivo como [Link], e selecione Adicionar.
) Importante
Certifique-se de que o nome do arquivo inclua a extensão .cpp. O Visual
Studio busca um arquivo com a extensão .cpp para habilitar a exibição das
páginas de propriedades do projeto C++.
4. Na barra de ferramentas, expanda o menu suspenso Configuração e selecione o
tipo de configuração de destino:
Para um runtime do Python de 64 bits, ative a configuração x64.
Para um runtime do Python de 32 bits, ative a configuração do Win32.
Lembre-se de repetir esses passos para os dois projetos.
Configurar as propriedades do projeto
Antes de adicionar código aos novos arquivos C++, configure as propriedades de cada
projeto de módulo C++ e teste as configurações para garantir que tudo funcione bem.
Você precisa definir as propriedades do projeto para as configurações de compilação de
depuração e versão de cada módulo.
1. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto do
módulo (superfastcode ou superfastcode2) e selecione Propriedades.
2. Configure as propriedades para a compilação de depuração do módulo e, depois,
configure as mesmas propriedades para a compilação de versão:
Na parte superior da caixa de diálogo Páginas de propriedades do projeto,
configure as seguintes opções de configuração de arquivo:
a. Para a Configuração, selecione Depurar ou Versão. (Você poderá ver essas
opções com o prefixo Ativo.)
b. Para a Plataforma, selecione Ativo (x64) ou Ativo (Win32), dependendo da
seleção na etapa anterior.
7 Observação
Ao criar seus próprios projetos, é recomendável definir as configurações de
depuração e versão separadamente, de acordo com seus requisitos de
cenário específicos. Neste exercício, você define as configurações para usar
uma compilação da versão do CPython. Essa configuração desabilita alguns
recursos de depuração do runtime do C++, incluindo asserções. O uso de
binários de depuração do CPython (python_d.exe) requer configurações
diferentes.
c. Defina outras propriedades do projeto conforme descrito na tabela a seguir.
Para mudar o valor de uma propriedade, insira um valor no campo de
propriedade. Para alguns campos, você pode selecionar o valor atual para
expandir o menu suspenso de opções ou abrir a caixa de diálogo para ajudar a
definir o valor.
Depois de atualizar os valores em uma guia, selecione Aplicar antes de alternar
para outra guia. Essa ação ajuda a garantir que suas alterações permaneçam.
ノ Expandir a tabela
Guia e seção Propriedade Valor
Propriedades de Nome de Especifique o nome do módulo ao qual
Configuração>Geral destino você deseja se referir do Python nas
instruções from...import , como
superfastcode. Você usa esse mesmo
nome no código C++ ao definir o
módulo para Python. Para usar o nome
do projeto como o nome do módulo,
deixe o valor padrão de
$<ProjectName>. Para python_d.exe ,
adicione _d ao final do nome.
Tipo de Biblioteca Dinâmica (.dll)
Configuração
Propriedades de Extensão do .pyd (Módulo de Extensão do Python)
Configuração>Avançada arquivo de
destino
C/C++>Geral Diretórios de Adicione a pasta include do Python
Inclusão conforme apropriado para sua instalação
Adicionais (por exemplo, c:\Python36\include).
Guia e seção Propriedade Valor
C/C++>Pré-processador Definições do Se estiver presente, mude o valor
Pré- _DEBUG para NDEBUG para
processador corresponder à versão de não depuração
do CPython. Quando você usar
python_d.exe, deixe esse valor inalterado.
C/C++>Geração de Biblioteca em DLL de vários threads (/MD) para
Código Runtime corresponder à versão (não depuração)
do CPython. Quando você usar
python_d.exe, deixe esse valor como DLL
de depuração multi-threaded (/MDd).
Verificações Padrão
básicas de
runtime
Vinculador>Geral Diretórios de Adicione a pasta libs do Python que
Biblioteca contém arquivos .lib conforme
Adicionais apropriado para sua instalação (por
exemplo, c:\Python36\libs). Lembre-se de
apontar para a pasta libs que contém
arquivos .lib e não para a pasta Lib que
contém arquivos .py.
) Importante
Se a guia C/C++ não for exibida como opção para as propriedades do
projeto, o projeto não conterá arquivo de código que o Visual Studio
identifique como arquivos de origem C/C++. Essa condição poderá ocorrer
se você criar um arquivo de origem sem uma extensão de arquivo .c ou
.cpp.
Se você inseriu acidentalmente [Link] em vez de [Link] quando
você criou o arquivo C++, o Visual Studio cria o arquivo, mas não define o
tipo para Compilador C/C+. Esse tipo de arquivo é necessário para ativar a
presença da guia Propriedades C/C++ na caixa de diálogo das
propriedades do projeto. A identificação incorreta permanece mesmo que
você renomeie o arquivo de código com uma extensão de arquivo .cpp.
Para definir o tipo de arquivo de código corretamente, em Gerenciador de
Soluções, clique com o botão direito do mouse no arquivo de código e
selecione Propriedades. Para o Tipo de item, selecione Compilador
C/C++.
d. Depois de atualizar todas as propriedades, selecione OK.
Repita estes passos para a outra configuração de build.
3. Testar a configuração atual. Repita as etapas a seguir para as compilações
depuração e versão dos dois projetos C++.
a. Na barra de ferramentas do Visual Studio, defina a configuração de Compilação
como Depurar ou Versão:
b. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto
C++ e selecione Compilar.
Os arquivos .pyd estão localizados na pasta solução em Depurar e Versão, e não
na própria pasta do projeto do C++.
Adicionar código e testar configuração
Agora você está pronto para adicionar código aos seus arquivos C++ e testar a
compilação da versão.
1. Para o projeto C++ superfastcode, abra o arquivo [Link] no editor de código.
2. No arquivo [Link], cole estes código:
C++
#include <Windows.h>
#include <cmath>
const double e = 2.7182818284590452353602874713527;
double sinh_impl(double x) {
return (1 - pow(e, (-2 * x))) / (2 * pow(e, -x));
}
double cosh_impl(double x) {
return (1 + pow(e, (-2 * x))) / (2 * pow(e, -x));
}
double tanh_impl(double x) {
return sinh_impl(x) / cosh_impl(x);
}
3. Salve suas alterações.
4. Crie a configuração de versão para o projeto C++ para confirmar que o seu código
esteja correto.
Repita as etapas para adicionar código ao arquivo C++ para o projeto superfastcode2 e
teste a compilação versão.
Converter os projetos de C++ em uma
extensão de Python
Para transformar a DLL C++ em uma extensão para Python, modifique primeiro os
métodos exportados para interagir com os tipos Python. Depois, adicione uma função
para exportar o módulo, juntamente com as definições dos métodos do módulo.
As seções a seguir mostram como criar as extensões usando as extensões CPython e
PyBind11. O projeto superfasctcode usa as extensões CPython e o projeto
superfasctcode2 implementa PyBind11.
Usar extensões CPython
Para mais informações sobre o código apresentado nesta seção, consulte o Manual de
Referência da API do Python/C e, principalmente, a página Objetos de Módulo . Ao
ler o conteúdo de referência, lembre-se de selecionar sua versão do Python na lista
suspensa no canto superior direito.
1. Para o projeto C++ superfastcode, abra o arquivo [Link] no editor de código.
2. Adicione uma instrução na parte superior do arquivo [Link] para incluir o
arquivo de cabeçalho Python.h:
C++
#include <Python.h>
3. Substitua código do método tanh_impl para aceitar e retornar tipos Python (ou
seja, um PyObject* ):
C++
PyObject* tanh_impl(PyObject* /* unused module reference */, PyObject*
o) {
double x = PyFloat_AsDouble(o);
double tanh_x = sinh_impl(x) / cosh_impl(x);
return PyFloat_FromDouble(tanh_x);
}
4. Ao final do arquivo, adicione uma estrutura para definir como apresentar a função
C++ tanh_impl ao Python:
C++
static PyMethodDef superfastcode_methods[] = {
// The first property is the name exposed to Python, fast_tanh
// The second is the C++ function with the implementation
// METH_O means it takes a single PyObject argument
{ "fast_tanh", (PyCFunction)tanh_impl, METH_O, nullptr },
// Terminate the array with an object containing nulls
{ nullptr, nullptr, 0, nullptr }
};
5. Adicione outra estrutura para definir como se referir ao módulo no seu código
Python, especificamente quando você usa a instrução from...import .
O nome que está sendo importado nesse código deve corresponder ao valor nas
propriedades do projeto em Propriedades de Configuração>Geral>Nome de
Destino.
No exemplo a seguir, o nome "superfastcode" significa que você pode usar a
declaração from superfastcode import fast_tanh no Python, pois fast_tanh é
definido dentro de superfastcode_methods . Os nomes de arquivo internos do
projeto C++, como [Link], não são importantes.
C++
static PyModuleDef superfastcode_module = {
PyModuleDef_HEAD_INIT,
"superfastcode", // Module name to use with
Python import statements
"Provides some functions, but faster", // Module description
0,
superfastcode_methods // Structure that defines
the methods of the module
};
6. Adicione um método que o Python chama ao carregar o módulo. O nome do
método deve ser PyInit_<module-name> , em que <module-name> corresponde
exatamente à propriedade Propriedades de Configuração>Geral>Nome de
destino do projeto C++. Ou seja, o nome do método corresponde ao nome do
arquivo .pyd criado pelo projeto.
C++
PyMODINIT_FUNC PyInit_superfastcode() {
return PyModule_Create(&superfastcode_module);
}
7. Compile o projeto C++ e verifique seu código. Se encontrar erros, confira a seção
"Solucionar erros de compilação".
Usar PyBind11
Se concluir as etapas na seção anterior para o projeto superfastcode, você poderá notar
que o exercício requer o código clichê para criar as estruturas de módulo para
extensões CPython C++. Neste exercício, você descobrirá que o PyBind11 simplifica o
processo de codificação. Você usa macros em um arquivo de cabeçalho C++ para
chegar ao mesmo resultado, mas com muito menos código. Porém, é preciso executar
outros passos para garantir que o Visual Studio possa localizar as bibliotecas PyBind11 e
incluir arquivos. Para obter mais informações sobre o código nesta seção, consulte
Noções básicas do PyBind11 .
Instalar o PyBind11
O primeiro passo é instalar o PyBind11 na configuração do seu projeto. Neste exercício,
você usa a janela PowerShell do Desenvolvedor.
1. Abra a janela Ferramentas>Linha de comando>PowerShell do desenvolvedor.
2. Na janela PowerShell do desenvolvedor, instale PyBind11 usando o comando pip
pip install pybind11 ou py -m pip install pybind11 .
O Visual Studio instala PyBind11 e seus pacotes dependentes.
Adicionar os caminhos PyBind11 ao projeto
Após a instalação do PyBind11, você precisa adicionar os caminhos à propriedade
Diretórios de inclusão adicionais para o projeto.
1. Na janela PowerShell do desenvolvedor, execute o comando python -m pybind11
--includes ou py -m pybind11 --includes .
Essa ação imprime uma lista de caminhos PyBind11 que você deve adicionar às
propriedades do projeto.
2. Destaque a lista de caminhos na janela e selecione Copiar (página dupla) na barra
de ferramentas da janela.
A lista de caminhos concatenados é adicionada a sua área de transferência.
3. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto
superfastcode2 e selecione Propriedades.
4. Na parte superior da caixa de diálogo Páginas de propriedade, para o campo
Configuração, selecione Versão. (Você poderá ver essa opção com o prefixo
Ativo.)
5. Na caixa de diálogo, na guia C/C++>Geral,expanda o menu suspenso para a
propriedade Diretórios de inclusão adicionais e selecione Editar.
6. Na caixa de diálogo de pop-up, adicione a lista de caminhos copiados:
Repita estes passos para cada caminho na lista concatenada copiada da janela
PowerShell do desenvolvedor:
a. Selecione Nova Linha (pasta com símbolo de mais) na barra de ferramentas da
caixa de diálogo pop-up.
O Visual Studio adiciona uma linha vazia na parte superior da lista de caminhos
e posiciona o cursor no início.
b. Na linha vazia, cole o caminho PyBind11.
Você também pode selecionar Mais opções (...) e usar uma caixa de diálogo
pop-up do explorador de arquivos para navegar ao local do caminho.
) Importante
Se o caminho contiver o prefixo -I , remova o prefixo do caminho.
Para o Visual Studio reconhecer um caminho, o caminho precisa estar
em uma linha separada.
Depois de adicionar um novo caminho, o Visual Studio mostra o caminho
confirmado no campo Valor avaliado.
7. Selecione OK para sair da caixa de diálogo pop-up.
8. Na parte superior da caixa de diálogo Páginas de propriedade, passe o mouse
sobre o valor para a propriedade Diretórios de inclusão adicionais e confirme se
os caminhos PyBind11 estão presentes.
9. Selecione OK para aplicar as alterações de propriedade.
Atualizar o arquivo [Link]
O último passo é adicionar o arquivo de cabeçalho PyBind11 e o código de macro ao
arquivo C++ do projeto.
1. Para o projeto C++ superfastcode2, abra o arquivo [Link] no editor de código.
2. Adicione uma instrução na parte superior do arquivo [Link] para incluir o
arquivo de cabeçalho pybind11.h:
C++
#include <pybind11/pybind11.h>
3. No final do arquivo [Link], adicione o código para a macro PYBIND11_MODULE
para definir o ponto de entrada para a função C++:
C++
namespace py = pybind11;
PYBIND11_MODULE(superfastcode2, m) {
[Link]("fast_tanh2", &tanh_impl, R"pbdoc(
Compute a hyperbolic tangent of a single argument expressed in
radians.
)pbdoc");
#ifdef VERSION_INFO
[Link]("__version__") = VERSION_INFO;
#else
[Link]("__version__") = "dev";
#endif
}
4. Compile o projeto C++ e verifique seu código. Se encontrar erros, confira a
próxima seção Solucionar erros de compilação.
Solucionar erros de compilação
Analise as seções a seguir para ver os possíveis problemas que podem causar falha na
compilação do módulo C++.
Erro: Não é possível localizar o arquivo do cabeçalho
O Visual Studio retorna uma mensagem de erro como E1696: Não é possível abrir o
arquivo fonte "Python.h" ou C1083: Não é possível abrir o arquivo de inclusão:
"Python.h": Nenhum arquivo ou diretório.
Esse erro indica que o compilador não consegue localizar um arquivo de cabeçalho (.h)
necessário para seu projeto.
Para o projeto superfastcode, verifique se a propriedade de projeto
C/C++>Geral>Diretórios de inclusão adicionais contém o caminho para a pasta
incluir para a instalação do Python. Revise as etapas em Configurar propriedades
do projeto.
Para o projeto superfastcode2, verifique se a mesma propriedade do projeto
contém o caminho para a pasta incluir para a instalação do PyBind11. Revise as
etapas Adicionar os caminhos PyBind11 ao projeto.
a obter mais informações sobre como acessar as informações de configuração de
instalação do Python, consulte a Documentação do Python .
Erro: não é possível localizar bibliotecas do Python
O Visual Studio retorna um erro indicando que o compilador não pode localizar os
arquivos de biblioteca (DLL) necessários para seu projeto.
Para o projeto C++ (superfastcode ou superfastcode2), verifique se a propriedade
Vinculador>Geral>Diretórios de biblioteca adicionais contém o caminho para a
pasta libs para sua instalação do Python. Revise as etapas em Configurar
propriedades do projeto.
a obter mais informações sobre como acessar as informações de configuração de
instalação do Python, consulte a Documentação do Python .
Erros do vinculador relacionados à arquitetura de destino
O Visual Studio relata erros do vinculador relacionados à configuração da arquitetura de
destino para seu projeto, como x64 ou Win32.
Para o projeto C++ (superfastcode ou superfastcode2), altere a configuração de
destino para corresponder à sua instalação do Python. Por exemplo, se a
configuração de destino do projeto C++ for Win32, mas a instalação do Python for
de 64 bits, mude a configuração de destino do projeto C++ para x64.
Testar o código e comparar os resultados
Agora que você tem as DLLs estruturadas como extensões de Python, é possível
consultá-las por meio do projeto do Python, importar o módulo e usar seus métodos.
Disponibilize a DLL para o Python
Você pode disponibilizar a DLL para Python de diversas maneiras. Considere estas duas
opções:
Se o projeto Python e o projeto C++ estiverem na mesma solução, você poderá usar
esta abordagem:
1. No Gerenciador de Soluções, clique com o botão direito do mouse no nó
Referências em seu projeto do Python e selecione Adicionar referência.
Lembre-se de executar essa ação para seu projeto Python e não para seu projeto
C++.
2. Na caixa de diálogo Adicionar referência, expanda a guia Projetos.
3. Marque as caixas de seleção para os projetos superfastcode e superfastcode2 e
selecione OK.
Uma abordagem alternativa é instalar o módulo de extensão C++ no seu ambiente
Python. Esse método disponibiliza o módulo para outros projetos Python. Para obter
mais informações, confira a documentação do projeto setuptools .
Execute estes passos para instalar o módulo de extensão C++ em seu ambiente Python:
1. No Gerenciador de Soluções, clique com o botão direito do mouse no nó do
projeto e selecione Adicionar>Novo Item.
2. Na lista de modelos de arquivo, selecione o Arquivo C++ (.cpp).
3. Insira o Nome para o arquivo como [Link], e selecione Adicionar.
Lembre-se de inserir o nome do arquivo com a extensão Python (.py). O Visual
Studio reconhece o arquivo como código Python, apesar do uso do modelo de
arquivo C++.
O Visual Studio abre o novo arquivo no editor de código.
4. Cole o código seguinte no novo arquivo. Escolha a versão do código que
corresponda ao seu método de extensão:
Extensões de CPython (projeto superfastcode):
Python
from setuptools import setup, Extension
sfc_module = Extension('superfastcode', sources = ['[Link]'])
setup(
name='superfastcode',
version='1.0',
description='Python Package with superfastcode C++ extension',
ext_modules=[sfc_module]
)
PyBind11 (projeto superfastcode2):
Python
from setuptools import setup, Extension
import pybind11
cpp_args = ['-std=c++11', '-stdlib=libc++', '-mmacosx-version-
min=10.7']
sfc_module = Extension(
'superfastcode2',
sources=['[Link]'],
include_dirs=[pybind11.get_include()],
language='c++',
extra_compile_args=cpp_args,
)
setup(
name='superfastcode2',
version='1.0',
description='Python package with superfastcode2 C++ extension
(PyBind11)',
ext_modules=[sfc_module],
)
5. No projeto C++, crie um segundo arquivo chamado [Link] e cole o
seguinte código:
toml
[build-system]
requires = ["setuptools", "wheel", "pybind11"]
build-backend = "setuptools.build_meta"
O arquivo TOML (.toml) usa o formato Tom's Obvious, Minimal Language para
arquivos de configuração.
6. Para compilar a extensão, clique com o botão direito do mouse no nome de
arquivo [Link] na guia da janela do código e selecione Copiar caminho
completo.
Você exclui o nome [Link] do caminho antes de usá-lo.
7. No Gerenciador de soluções, expanda o nó Ambientes Python da solução.
8. Clique com o botão direito no ambiente Python ativo (mostrado em negrito) e
selecione Gerenciar Pacotes Python.
O painel Ambientes Python é aberto.
Se o pacote necessário já estiver instalado, você o verá neste painel.
Antes de continuar, selecione o X do lado do nome do pacote para
desinstalá-lo.
9. Na caixa de pesquisa do painel Ambientes Python, cole o caminho copiado e
exclua o nome de arquivo [Link] do final do caminho.
10. Selecione Enter para instalar o módulo do local do caminho copiado.
Dica
Se a instalação falhar devido a um erro de permissão, adicione o argumento -
-user ao final do comando e tente a instalação novamente.
Chamar a DLL no Python
Depois de disponibilizar a DLL para o Python, conforme descrito na seção anterior, você
estará pronto para chamar as funções superfastcode.fast_tanh e
superfastcode2.fast_tanh2 do Python. Depois, você pode comparar o desempenho da
função com a implementação do Python.
Siga estes passos para chamar a DLL do módulo de extensão do Python:
1. Abra o arquivo .py para seu projeto Python no editor de código.
2. No final do arquivo, adicione o seguinte código para chamar os métodos
exportados das DLLs e mostrar sua saída:
Python
from superfastcode import fast_tanh
test(lambda d: [fast_tanh(x) for x in d], '[fast_tanh(x) for x in d]
(CPython C++ extension)')
from superfastcode2 import fast_tanh2
test(lambda d: [fast_tanh2(x) for x in d], '[fast_tanh2(x) for x in d]
(PyBind11 C++ extension)')
3. Execute o programa Python selecionando Depurar>Iniciar sem Depuração ou use
o atalho de teclado Ctrl+F5.
7 Observação
Se o comando Iniciar sem depuração estiver indisponível, no Gerenciador de
soluções, clique com o botão direito do mouse no projeto Python e escolha
Definir como Projeto de Inicialização.
Quando o programa é executado, observe que as rotinas C++ são executadas
cerca de 5 a 20 vezes mais rápido que a implementação do Python.
Veja este exemplo de saída típica do programa:
Saída
Running benchmarks with COUNT = 500000
[tanh(x) for x in d] (Python implementation) took 0.758 seconds
[fast_tanh(x) for x in d] (CPython C++ extension) took 0.076 seconds
[fast_tanh2(x) for x in d] (PyBind11 C++ extension) took 0.204 seconds
4. Tente aumentar a variável COUNT para que as diferenças de tempo sejam mais
evidentes.
Uma compilação de Depuração do módulo C++ também é executada mais
lentamente do que uma compilação de Versão, pois o build de Depuração é
menos otimizado e contém diversas verificações de erro. Tente alternar entre essas
configurações de compilação para comparação, mas lembre-se de atualizar as
propriedades definidas antes para a configuração de versão.
Aborde a velocidade e a sobrecarga do processo
Na saída, você pode notar que a extensão PyBind11 não é tão rápida quanto a extensão
CPython, embora deva ser mais rápida que a implementação de Python pura. O
principal motivo para a diferença é por causa do uso do sinalizador METH_O . Esse
sinalizador não dá suporte a vários parâmetros, nomes de parâmetros ou argumentos
de palavras-chave. O PyBind11 gera um código um pouco mais complexo para fornecer
uma interface mais semelhante ao Python aos chamadores. Como o código de teste
chama a função 500.000 vezes, os resultados podem amplificar muito essa sobrecarga.
Você pode reduzir ainda mais a sobrecarga movendo o loop for para o código nativo
Python. Essa abordagem envolve o uso do protocolo iterador (ou o tipo py::iterable
PyBind11 para o parâmetro de função ) para processar cada elemento. Remover as
transições repetidas entre Python e C++ é uma maneira eficaz de reduzir o tempo
necessário para processar a sequência.
Solucionar os problemas de importação de erros
Se você receber uma mensagem de ImportError ao tentar importar seu módulo, poderá
resolvê-la de uma das seguintes maneiras:
Ao compilar por meio de uma referência de projeto, verifique se as propriedades
do projeto C++ correspondem ao ambiente Python ativado do projeto Python.
Confirme se os mesmos locais de pasta estão em uso para os arquivos Incluir (.h) e
Biblioteca (DLL).
Confirme que o arquivo de saída esteja nomeado corretamente, como
[Link]. Um nome ou extensão incorreta evita a importação do arquivo
necessário.
Se você instalou o módulo usando o arquivo [Link], execute o comando pip no
ambiente python ativado no seu projeto Python. Quando você expande o
ambiente Python ativo para seu projeto no Gerenciador de Soluções, você deve
ver uma entrada para o projeto C++, como superfastcode.
Depurar o código C++
O Visual Studio é compatível com a depuração de código de Python e C++ juntos. Os
passos a seguir demonstram o processo de depuração para o projeto C++
superfastcode, mas o processo é o mesmo para o projeto superfastcode2.
1. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto
Python e selecione Propriedades.
2. No painel Propriedades, selecione a guia Depurar e a opção Depurar>Habilitar a
depuração de código nativo.
Dica
Quando você habilitar a depuração de código nativo, a janela de Saída do
Python poderá fechar imediatamente depois que o programa terminar sem
pausar ou apresentar o prompt Pressione qualquer tecla para continuar. Para
forçar a pausa e o prompt depois de habilitar a depuração de código nativo,
adicione o argumento -i ao campo Executar>Argumentos do interpretador
na guia Depurar. Esse argumento coloca o interpretador Python no modo
interativo após a execução do código. O programa aguarda você selecionar
Ctrl+Z+Enter para fechar a janela. Uma abordagem alternativa é adicionar as
instruções import os e [Link]("pause") no final do seu programa Python.
Esse código duplicará o prompt de pausa original.
3. Selecione Arquivo>Salvar (ou Ctrl+S) para salvar as alterações de propriedade.
4. Na barra de ferramentas do Visual Studio, defina a configuração Build para
Depurar.
5. Como o código geralmente demora mais para ser executado no depurador, talvez
seja interessante alterar a variável COUNT no seu arquivo de projeto Python .py para
um valor que seja cerca de cinco vezes menor do que o valor padrão. Por exemplo,
altere-o de 500000 para 100000.
6. No seu código C++, defina um ponto de interrupção na primeira linha do método
tanh_impl .
7. Inicie o depurador selecionando Depurar>Iniciar depuração ou use o atalho de
teclado F5.
O depurador para quando o código do ponto de interrupção é chamado. Se o
ponto de interrupção não for atingido, confirme que a configuração esteja definida
como Depuração e que você tenha salvado o projeto (o que não acontece
automaticamente ao iniciar o depurador).
8. Neste ponto de interrupção, você poderá executar o código C++ em etapas,
examinar variáveis e assim por diante. Para obter mais informações sobre esses
recursos, consulte Depurar Python e C++ juntos.
Abordagens alternativas
Você pode criar extensões do Python de várias maneiras, conforme descrito na tabela a
seguir. As duas primeiras linhas, CPython e PyBind11 , são abordadas neste artigo.
ノ Expandir a tabela
Abordagem Vintage Usuários representantes
Módulos de extensão do C/C++ para CPython 1991 Biblioteca Padrão
PyBind11 (recomendado para C++) 2015
Cython (recomendado para C) 2007 gevent , kivy
HPy 2019
mypyc 2017
ctypes 2003 oscrypto
cffi 2013 cryptography , pypy
Abordagem Vintage Usuários representantes
SWIG 1996 crfsuite
[Link] 2002
cppyy 2017
Conteúdo relacionado
Acesse os arquivos de exemplo completos no GitHub (python-samples-vs-cpp-
extension)
Comentários
Esta página foi útil? Yes No
Depurar Python e C++ juntos no Visual
Studio
Artigo • 18/04/2024
A maioria dos depuradores Python regulares suportam somente a depuração de código
Python, mas é prática comum para desenvolvedores usar Python com C ou C++. Alguns
cenários que usam código misto são aplicativos que exigem alta performance ou a
capacidade de invocar diretamente APIs de plataforma são frequentemente codificados
em Python e C ou C++.
O Visual Studio fornece depuração de modo misto integrada e simultânea para o
Python e código C/C++ nativo. O suporte está disponível quando você seleciona a
opção de ferramentas de desenvolvimento nativo Python para a carga de trabalho
Python Development no instalador do Visual Studio:
Neste artigo, você explora como trabalhar com estes recursos de depuração de modo
misto:
Pilhas de chamada combinadas
Etapa entre o Python e o código nativo
Pontos de interrupção nos dois tipos de código
Confira as representações de Python de objetos em quadros nativos e vice-versa
Depuração dentro do contexto do projeto do Python ou C++
Pré-requisitos
Visual Studio 2017 e posterior. A depuração de modo misto não está disponível
nas Ferramentas Python para Visual Studio 1.x no Visual Studio 2015 e anteriores.
Ter o Visual Studio instalado e compatível com cargas de trabalho do Python. Para
obter mais informações, confira Instalar o suporte ao Python no Visual Studio.
Habilitar a depuração de modo misto em um
projeto do Python
Os passos a seguir descrevem como habilitar a depuração de modo misto em um
projeto Python:
1. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto
Python e selecione Propriedades.
2. No painel Propriedades, selecione a guia Depurar e a opção Depurar>Habilitar a
depuração de código nativo:
Essa opção habilita o modo misto em todas as sessões de depuração.
Dica
Quando você habilitar a depuração de código nativo, a janela de Saída do
Python poderá fechar imediatamente depois que o programa terminar sem
pausar ou apresentar o prompt Pressione qualquer tecla para continuar. Para
forçar a pausa e o prompt depois de habilitar a depuração de código nativo,
adicione o argumento -i ao campo Executar>Argumentos do interpretador
na guia Depurar. Esse argumento coloca o interpretador Python no modo
interativo após a execução do código. O programa aguarda você selecionar
Ctrl+Z+Enter para fechar a janela.
3. Selecione Arquivo>Salvar (ou Ctrl+S) para salvar as alterações de propriedade.
4. Para anexar o depurador de modo misto a um processo existente, selecione
Depurar>Anexar ao Processo. Uma caixa de diálogo aparece.
a. Na caixa de diálogo Anexar ao Processo, selecione o processo protegido na
lista.
b. Para o campo Anexar a, use a opção Selecionar para abrir a caixa de diálogo
Selecionar tipo de código.
c. Na caixa de diálogo Selecionar tipo de código, escolha a opção Depurar estes
tipos de código.
d. Na lista, marque a caixa de seleção Python (nativo) e selecione OK:
e. Escolha Anexar para iniciar o depurador.
As configurações do tipo de código são persistentes. Se você quiser desabilitar a
depuração de modo misto e anexar a um processo diferente posteriormente,
desmarque a caixa de seleção do tipo de código Python (nativo) e marque a caixa
de seleção Tipo de código Nativo.
Você pode selecionar outros tipos de código além da opção Nativo. Por exemplo,
se um aplicativo gerenciado hospedar o CPython, que por sua vez usa módulos de
extensão nativos, e você quiser depurar os três projetos de código, marque as
caixas de seleção Python, Nativo e Gerenciado. Essa abordagem traz uma
experiência de depuração unificada, incluindo pilhas de chamadas combinadas e
etapas entre os três tempos de execução.
Como trabalhar com ambientes virtuais
Ao usar esse método de depuração de modo misto para ambientes virtuais (venvs), o
Python para Windows usa um arquivo stub [Link] para venvs que o Visual Studio
localiza e carrega como um subprocesso.
Para o Python 3.8 e posterior, o modo misto não dá suporte à depuração de vários
processos. Quando você inicia a sessão da depuração, o subprocesso de stub é
depurado em vez do aplicativo. Em cenários de anexação, a solução alternativa é
anexar ao arquivo [Link] correto. Quando inicia o aplicativo com depuração
(como pelo atalho de teclado F5), você pode criar seu venv usando o comando
C:\Python310-64\[Link] -m venv venv --symlinks . No comando, coloque sua
versão preferida do Python. Por padrão, somente Administradores podem criar
links simbólicos no Windows.
Para versões do Python antes da 3.8, a depuração de modo misto deve funcionar
conforme o esperado com venvs.
A execução em um ambiente global não causa esses problemas para nenhuma versão
do Python.
Instalar símbolos Python
Ao iniciar a depuração no modo misto pela primeira vez, você poderá ver uma caixa de
diálogo Símbolos Obrigatórios do Python. Você precisa instalar os símbolos apenas
uma vez para qualquer ambiente do Python. Os símbolos serão incluídos
automaticamente se você instalar o suporte do Python por meio do Instalador do Visual
Studio (Visual Studio 2017 e posterior). Para mais informações, consulte Instalar
símbolos de depuração para interpretadores Python no Visual Studio.
Acessar o código-fonte Python
Você pode disponibilizar o código-fonte do Python padrão durante a depuração.
1. Ir para [Link] .
2. Faça o download do arquivo de código-fonte Python apropriado para sua versão e
extraia o código para uma pasta.
3. Quando o Visual Studio solicita o local do código-fonte Python, indique para os
arquivos específicos na pasta de extração.
Habilitar a depuração de modo misto em um
projeto do C/C++
O Visual Studio 2017 versão 15.5 e posterior dá suporte à depuração de modo misto de
um projeto C/C++. Um exemplo desse uso é quando você quer incorporar o Python em
outro aplicativo, conforme descrito em [Link] .
Os passos a seguir descrevem como habilitar a depuração de modo misto para um
projeto C/C++:
1. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto
C/C++ e selecione Propriedades.
2. No painel Páginas de Propriedades, selecione a guia Propriedades de
Configuração>Depuração.
3. Expanda o menu suspenso para a opção Depurador para iniciar e selecione
Python/Depuração Nativa.
7 Observação
Se você não tiver a opção Python/Depuração Nativa, primeiro instale as
ferramentas de desenvolvimento nativas do Python usando o instalador do
Visual Studio. A opção de depuração nativa está disponível na carga de
trabalho para desenvolvimento do Python. Para obter mais informações,
confira Instalar o suporte ao Python no Visual Studio.
4. Selecione Ok para salvar as alterações.
Depurar o iniciador de programas
Ao usar este método, não é possível depurar o Launcher de programa [Link] porque
ele gera um subprocesso filho [Link] . O depurador não é anexado ao subprocesso.
Nesse cenário, a solução alternativa é iniciar o programa [Link] diretamente com
argumentos, da seguinte maneira:
1. No painel Páginas de propriedade para o projeto C/C++, acesse a guia
Propriedades de configuração>Depuração.
2. Na opção Comando, especifique o caminho completo para o arquivo de programa
[Link] .
3. Especifique os argumentos desejados no campo Argumentos de comando.
Anexar o depurador de modo misto
Para o Visual Studio 2017 versão 15.4 e anteriores, a depuração direta de modo misto é
ativada somente ao iniciar um projeto Python no Visual Studio. O suporte é limitado
porque os projetos C/C++ usam somente o depurador nativo.
Para este cenário, a solução alternativa é anexar o depurador separadamente:
1. Inicie o projeto C++ sem depurar selecionando Depurar>Iniciar sem depurar ou
use o atalho do teclado Ctrl+F5.
2. Para anexar o depurador de modo misto a um processo existente, selecione
Depurar>Anexar ao Processo. Uma caixa de diálogo aparece.
a. Na caixa de diálogo Anexar ao Processo, selecione o processo protegido na
lista.
b. Para o campo Anexar a, use a opção Selecionar para abrir a caixa de diálogo
Selecionar tipo de código.
c. Na caixa de diálogo Selecionar tipo de código, escolha a opção Depurar estes
tipos de código.
d. Na lista, marque a caixa de seleção Python (nativo) e selecione OK.
e. Escolha Anexar para iniciar o depurador.
Dica
Você pode introduzir uma pausa ou atraso no aplicativo C++ para garantir que ele
não chame o código Python que você quer depurar antes de anexar o depurador.
Explore recursos específicos ao modo misto
O Visual Studio tem vários recursos de depuração de modo misto para facilitar a
depuração de seu aplicativo:
Pilha de chamadas combinada
Etapa entre o Python e o código nativo
Exibição de valores PyObject no código nativo
Exibição de valores Nativos no código do Python
Usar uma pilha de chamadas combinada
A janela Pilha de Chamadas mostra os registros de ativação nativo e do Python
intercalados, com transições marcadas entre os dois:
Para fazer as transições aparecerem como [Código Externo] sem especificar a
direção da transição, defina a opção
Ferramentas>Opções>Depuração>Geral>Habilitar Apenas Meu Código.
Para tornar ativo qualquer quadro de chamada, clique duas vezes no quadro. Essa
ação abre também o código-fonte correspondente, se possível. Se o código-fonte
não estiver disponível, o quadro ainda ficará ativo e as variáveis locais poderão ser
inspecionadas.
Etapa entre o Python e o código nativo
O Visual Studio oferece os comandos Intervir (F11) ou Sair (Shift+F11) para permitir que
o depurador de modo misto manipule corretamente das alterações entre os tipos de
código.
Quando o Python chama um método de um tipo implementado no C, a
intervenção em uma chamada a esse método é interrompida no início da função
nativa que implementa o método.
Este mesmo comportamento ocorre quando o código nativo chama uma função
de API do Python, isso resulta na invocação do código do Python. Intervir em uma
chamada para PyObject_CallObject em um valor de função que foi originalmente
definido no Python é interrompida no início da função do Python.
Também há suporte para a intervenção do Python para nativo em funções nativas
invocadas do Python por meio de ctypes .
Usar exibição de valores PyObject no código nativo
Quando um quadro nativo (C ou C++) está ativo, suas variáveis locais são mostradas na
janela Locais do depurador. os módulos de extensão nativos do Python, muitas dessas
variáveis são do tipo PyObject (que é um typedef de _object ), ou alguns outros tipos
fundamentais do Python. Na depuração de modo misto, esses valores apresentam outro
nó filho rotulado [exibição do Python].
Para ver a representação Python da variável, expanda o nó. A exibição das variáveis
é idêntica ao que aparece se uma variável local que faz referência ao mesmo
objeto estiver presente em um quadro Python. Os filhos desse nó são editáveis.
Para desabilitar esse recurso, clique com o botão direito do mouse em qualquer
lugar da janela Locais e ative/desative a opção de menu Python>Mostrar Nós de
Exibição do Python:
Tipos C que mostram nós de visualização Python
Os seguintes tipos C mostram nós de [Exibição do Python] (se estiverem habilitados):
PyObject
PyVarObject
PyTypeObject
PyByteArrayObject
PyBytesObject
PyTupleObject
PyListObject
PyDictObject
PySetObject
PyIntObject
PyLongObject
PyFloatObject
PyStringObject
PyUnicodeObject
A [exibição do Python] não é mostrada automaticamente para tipos criados por sua
própria conta. Quando você cria extensões para Python 3.x, essa falha geralmente não é
um problema. Qualquer objeto, em última análise, tem um campo ob_base de um dos
tipos C listados, o que faz com que [visualização Python] apareça.
Exibir valores nativos no código Python
Você pode habilitar uma [Exibição do C++] para valores nativos na janela Locais
quando um quadro do Python estiver ativo. Esse recurso não é habilitado por padrão.
Para ativar o recurso, clique com o botão direito na janela Locais e defina a opção
de menu Python>Mostrar Nós de Exibição C++.
O nó [Exibição do C++] fornece uma representação da estrutura subjacente do
C/C++ de um valor, idêntico ao que você veria em um quadro nativo. Ele mostra
uma instância de _longobject (para a qual PyLongObject é um typedef) de um
inteiro longo do Python e tenta inferir tipos para as classes nativas criadas por
conta própria. Os filhos desse nó são editáveis.
Se um campo filho de um objeto for do tipo PyObject , ou outro tipo compatível, ele
terá um nó de representação [Exibição Python] (se essas representações estiverem
habilitadas). Esse comportamento possibilita navegar em gráficos de objetos onde os
links não são diretamente expostos ao Python.
Ao contrário dos nós [exibição do Python], que usam metadados de objeto do Python
para determinar o tipo do objeto, não há nenhum mecanismo similarmente confiável
para a [exibição do C++]. Em termos gerais, considerando um valor do Python (ou seja,
uma referência PyObject ), não é possível determinar com confiança qual estrutura do
C/C++ está dando suporte a ele. O depurador de modo misto tenta adivinhar esse tipo,
observando diversos campos do tipo de objeto (como o PyTypeObject referenciado por
seu campo ob_type ) que têm tipos de ponteiro de função. Se um desses ponteiros de
função referenciar uma função que pode ser resolvida e essa função tiver um parâmetro
self com um tipo mais específico que PyObject* , esse tipo será considerado como o
tipo de suporte.
Considere o exemplo a seguir, em que o valor ob_type->tp_init de um determinado
objeto aponta para esta função:
static int FobObject_init(FobObject* self, PyObject* args, PyObject* kwds) {
return 0;
}
Nesse caso, o depurador poderá deduzir corretamente que o tipo C do objeto é
FobObject . Se o depurador não conseguir determinar um tipo mais preciso de tp_init ,
ele seguirá para outros campos. Se não for possível deduzir o tipo de nenhum desses
campos, o nó [exibição do C++] apresentará o objeto como uma instância de PyObject .
Para obter sempre uma representação útil de tipos criados personalizados, é melhor
registrar, pelo menos, uma função especial ao registrar o tipo e usar um parâmetro
self fortemente tipado. A maioria dos tipos cumpre este requisito naturalmente. Para
outros tipos, a inspeção tp_init é geralmente a entrada mais conveniente para usar
para este fim. Uma implementação fictícia de tp_init de um tipo que está presente
exclusivamente para habilitar a inferência de tipos do depurador pode apenas retornar
zero imediatamente, como no exemplo anterior.
Rever as diferenças da depuração padrão do
Python
O depurador de modo misto é diferente do depurador Python padrão. Ele introduz
alguns recursos extras, mas não tem alguns recursos relacionados ao Python, como
segue:
Funcionalidades sem suporte incluem pontos de interrupção condicionais, a janela
Interativa de Depuração e depuração remota multiplataforma.
A Janela Imediata: disponível, mas com um subconjunto limitado de sua
funcionalidade, incluindo todas as limitações listadas nesta seção.
Versões do Python com suporte incluem somente CPython 2.7 e 3.3+.
Para usar o Python com o Shell do Visual Studio (por exemplo, se você instalá-lo
com o instalador integrado), o Visual Studio não consegue abrir projetos C++.
Como resultado, a experiência de edição de arquivos C++ é a de um editor de
texto básico somente. No entanto, há suporte completo para a depuração do
C/C++ e a depuração de modo misto no Shell com código-fonte, execução em
etapas em código nativo e avaliação de expressão do C++ nas janelas do
depurador.
Ao exibir objetos do Python nas janelas Locais e Inspeção da ferramenta do
depurador, o depurador de modo misto mostra somente a estrutura dos objetos.
Ele não avalia propriedades automaticamente nem mostra atributos computados.
Para coleções, ele mostra apenas os elementos de tipos de coleção interna ( tuple ,
list , dict , set ). Os tipos de coleção personalizada não são visualizados como
coleções, a menos que sejam herdados de algum tipo de coleção interna.
A avaliação de expressão é tratada como descrito na seção a seguir.
Usar avaliação de expressão
O depurador padrão do Python permite a avaliação de expressões arbitrárias do Python
nas janelas Inspeção e Imediata quando o processo depurado está em pausa em
qualquer ponto do código, desde que ele não esteja bloqueado em uma operação de
E/S ou em outra chamada do sistema semelhante. Na depuração de modo misto, as
expressões arbitrárias podem ser avaliadas somente quando interrompidas no código
do Python, depois de um ponto de interrupção ou intervindo no código. As expressões
podem ser avaliadas apenas no thread em que o ponto de interrupção ou a operação
de intervenção ocorreu.
Quando o depurador pára em código nativo ou em código Python onde as condições
descritas não se aplicam, como depois uma operação de "sair" ou em um thread
diferente. A avaliação de expressões é limitada ao acesso a variáveis locais e globais no
escopo do quadro selecionado atualmente, acessando os seus campos e indexando os
tipos de coleção integrados com literais. Por exemplo, a seguinte expressão pode ser
avaliada em qualquer contexto (desde que todos os identificadores refiram-se a
variáveis e a campos existentes dos tipos apropriados):
Python
[Link][0].baz['key']
O depurador de modo misto também resolve essas expressões de outra forma. Todas as
operações de acesso a membro pesquisam somente os campos que fazem parte
diretamente do objeto (como uma entrada em seu __dict__ ou __slots__ , ou um
campo de um struct nativo que é exposto ao Python por meio de tp_members ) e
ignoram qualquer __getattr__ , __getattribute__ ou lógica do descritor. Da mesma
forma, todas as operações de indexação ignoram __getitem__ e acessam as estruturas
de dados internas das coleções diretamente.
Por uma questão de consistência, esse esquema de resolução de nomes é usado para
todas as expressões que correspondam às restrições para a avaliação de expressão
limitada. Esse esquema se aplica independentemente de expressões arbitrárias serem
permitidas no ponto de parada atual. Para forçar a semântica correta do Python quando
um avaliador completo está disponível, coloque a expressão entre parênteses:
Python
([Link][0].baz['key'])
Conteúdo relacionado
Criar uma extensão do C++ para o Python
Instalar símbolos de depuração para interpretadores do Visual Studio
Comentários
Esta página foi útil? Yes No
Instalar símbolos de depuração para
interpretadores do Visual Studio
Artigo • 18/04/2024
Este artigo mostra os passos para baixar e integrar símbolos de depuração para
interpretadores Python no Visual Studio.
Para fornecer uma experiência de depuração completa, o depurador de modo misto do
Python no Visual Studio precisa de símbolos de depuração para que o interpretador do
Python usado analise várias estruturas de dados internas. Os símbolos de depuração são
estabelecidos no banco de dados do programa (.pdb). Por exemplo, a biblioteca
[Link] exige o arquivo de símbolo [Link], a biblioteca [Link] usa o o
arquivo de símbolo [Link], e assim por diante. Cada versão do interpretador
também fornece arquivos de símbolo para vários módulos.
No Visual Studio 2017 e posterior, os interpretadores do Python 3 e do Anaconda
3 instalam automaticamente seus respectivos símbolos e o Visual Studio encontra
esses símbolos de forma automática.
No Visual Studio 2015 e versões anteriores, ou para outros intérpretes, você deve
baixar símbolos separadamente e, depois, apontar o Visual Studio para os
arquivos.
Quando o Visual Studio detecta símbolos necessários ausentes, uma caixa de diálogo
solicita executar uma ação. Normalmente, você vê a caixa de diálogo ao iniciar uma
sessão de depuração de modo misto. A caixa de diálogo inclui o link de diálogo Abrir
configurações de símbolo, que abre a caixa de diálogo Ferramentas>Opções para a
guia Depuração>Symbols juntamente com um link para este artigo de documentação.
Pré-requisitos
Ter o Visual Studio instalado e compatível com cargas de trabalho do Python. Para
obter mais informações, confira Instalar o suporte ao Python no Visual Studio.
Verificar a versão do intérprete
Os símbolos variam entre compilações secundárias do Python e entre compilações de
32 bits e 64 bits. É importante confirmar sua versão e a compilação do Python para
garantir que você tenha os símbolos corretos para seu intérprete.
Para verificar qual interpretador Python está usando:
1. No Gerenciador de Soluções, expanda o nó Ambientes do Python no seu projeto.
2. Encontre o nome do ambiente atual (mostrado em negrito).
3. Clique com o botão direito no nome do ambiente e selecione Abrir prompt de
comando aqui.
Uma janela de prompt de comando é aberta ao local de instalação do ambiente
atual.
4. Abra o python digitando o seguinte comando:
Console
[Link]
O processo de execução mostra sua versão instalada do Python e indica se ela é
de 32 bits ou 64 bits:
Baixar símbolos
Os passos a seguir descrevem como baixar os símbolos necessários para um
interpretador Python.
Para Python 3.5 e versões posteriores, adquira símbolos de depuração por meio
do instalador do Python.
1. Selecione Instalação personalizada e Avançar.
2. Na página Opções avançadas, marque as caixas para Baixar símbolos de
depuração e Baixar binários de depuração:
Os arquivos de símbolo (.pdb) ficam na pasta de instalação raiz. Arquivos de
símbolo para módulos individuais também são colocados na pasta DLLs.
O Visual Studio encontra esses símbolos automaticamente. Não são necessárias
outras etapas.
No Python 3.4.x e anterior, os símbolos estão disponíveis como arquivos .zip de
download nas distribuições oficiais ou no Enthought Canopy.
1. Faça o download do arquivo de símbolo obrigatório.
) Importante
Lembre-se de selecionar o arquivo de símbolo que corresponde à sua
versão instalada do Python e compilação (32 bits ou 64 bits).
2. Extraia os arquivos de símbolo em uma pasta local dentro da pasta Python,
como Símbolos.
3. Depois de extrair os arquivos, a próxima etapa é apontar o Visual Studio aos
símbolos.
Para outras distribuições do Python de terceiros, como o ActiveState Python, será
necessário entrar em contato com os autores dessa distribuição e solicitar que eles
forneçam símbolos.
O WinPython incorpora o interpretador Python padrão sem alterações. Você pode
usar os símbolos da distribuição oficial do WinPython para o número de versão
correspondente.
Apontar o Visual Studio para os símbolos
Se os símbolos tiverem sido baixados separadamente, siga estes passos para que o
Visual Studio os reconheça.
7 Observação
Se os símbolos foram instalados usando o Python 3.5 ou de um instalador
posterior, o Visual Studio os encontra automaticamente. Você não precisará
concluir os passos nesta seção.
1. Selecione Ferramentas>Opções e abra a guia Depuração>Símbolos.
2. Selecione Adicionar (símbolo de mais) na barra de ferramentas.
3. Insira o caminho da pasta em que você extraiu os símbolos baixados. Esse local é
onde fica o arquivo [Link] , como c:\python34\Symbols, conforme mostrado
na imagem a seguir.
4. Selecione OK.
Durante uma sessão de depuração, o Visual Studio também pode solicitar o local de um
arquivo de origem para o interpretador de Python. Se tiver baixado os arquivos de
origem, como de [Link]/downloads/ , você pode apontar o Visual Studio para os
arquivos baixados.
Opções de cache de símbolos
A caixa de diálogo Ferramentas>Opções, Depuração>Símbolos também contém
opções para configurar o cache de símbolos. O Visual Studio usa funcionalidades de
cache de símbolo para criar um cache local de símbolos obtidos de uma fonte online.
Essas funcionalidades não serão necessárias com os símbolos do interpretador de
Python, pois os símbolos já estão presentes localmente. Para obter mais informações,
consulte Especificar símbolos e arquivos de origem no depurador do Visual Studio.
Acessar downloads para distribuições oficiais
A tabela a seguir mostra informações de download para versões oficiais do Python.
ノ Expandir a tabela
Versão do Python Downloads
3.5 e versões posteriores Instale símbolos por meio do instalador do Python.
3.4.4 32 bits - 64 bits
3.4.3 32 bits - 64 bits
3.4.2 32 bits - 64 bits
3.4.1 32 bits - 64 bits
3.4.0 32 bits - 64 bits
3.3.5 32 bits - 64 bits
3.3.4 32 bits - 64 bits
3.3.3 32 bits - 64 bits
3.3.2 32 bits - 64 bits
3.3.1 32 bits - 64 bits
Versão do Python Downloads
3.3.0 32 bits - 64 bits
2.7.18 32 bits - 64 bits
2.7.17 32 bits - 64 bits
2.7.16 32 bits - 64 bits
2.7.15 32 bits - 64 bits
2.7.14 32 bits - 64 bits
2.7.13 32 bits - 64 bits
2.7.12 32 bits - 64 bits
2.7.11 32 bits - 64 bits
2.7.10 32 bits - 64 bits
2.7.9 32 bits - 64 bits
2.7.8 32 bits - 64 bits
2.7.7 32 bits - 64 bits
2.7.6 32 bits - 64 bits
2.7.5 32 bits - 64 bits
2.7.4 32 bits - 64 bits
2.7.3 32 bits - 64 bits
2.7.2 32 bits - 64 bits
2.7.1 32 bits - 64 bits
Usar símbolos do Enthought Canopy
O Enthought Canopy fornece símbolos de depuração para seus binários a partir da
versão 1.2. Esses símbolos são instalados automaticamente com a distribuição.
Para usar os símbolos, adicione manualmente a pasta que contém os símbolos ao
caminho do símbolo, conforme descrito em Apontar o Visual Studio para os
símbolos.
Para uma instalação típica por usuário do Canopy, os símbolos ficam nestas pastas:
Versão 64 bits: %UserProfile%\AppData\Local\Enthought\Canopy\User\Scripts
Versão 32 bits: %UserProfile%\AppData\Local\Enthought\Canopy32\User\Scripts
O Enthought Canopy 1.1 e anteriores e o Enthought Python Distribution (EPD) não
fornecem símbolos de interpretador. Essas versões não são compatíveis com a
depuração de modo misto.
Conteúdo relacionado
Especificar símbolos e arquivos de origem no depurador do Visual Studio
Depurar Python e C++ juntos (depuração de modo misto)
Comentários
Esta página foi útil? Yes No
Criação de perfil para o código Python
no Visual Studio
Artigo • 23/04/2024
O Visual Studio fornece recursos de criação de perfil para aplicativos em Python quando
você realiza a depuração do código. O Depurador do Visual Studio possibilita que você
examine o código para verificar variáveis, analisar o estado do programa, resolver
possíveis problemas, e assim por diante. Os recursos de criação de perfil do Visual
Studio fornecem informações sobre os tempos de execução para o programa. É possível
usar essas informações para auxiliar na identificação de problemas de desempenho no
código.
A criação de perfil está disponível para o Python 3.9 e para versões anteriores ao usar
um interpretador baseado em CPython.
Pré-requisitos
Instalação do Visual Studio no Windows com suporte para cargas de trabalho em
Python. Para obter mais informações, confira Instalar o suporte ao Python no
Visual Studio.
Um interpretador baseado em CPython. O CPython é o interpretador “nativo” e
mais usado e está disponível em versões de 32 bits e de 64 bits (a recomendação é
para usar 32 bits). Para obter mais informações, confira Instalar interpretadores do
Python.
Um projeto em Python com código ou uma pasta com código Python.
Ainda não há suporte ao Visual Studio para Mac. Para obter mais informações, consulte
O que está acontecendo com o Visual Studio para Mac? O Visual Studio Code no
Windows, no Mac e no Linux funciona perfeitamente com o Python por meio das
extensões disponíveis .
Usar o criador de perfil com o interpretador
baseado em CPython
Quando você analisa um aplicativo do Python, o Visual Studio coleta dados do tempo
de vida do processo.
Siga estas etapas para começar a trabalhar com os recursos de criação de perfil no
Visual Studio:
1. No Visual Studio, abra o arquivo de código Python.
2. Confirme se o ambiente atual para o código Python corresponde a um
interpretador baseado em CPython. É possível verificar o interpretador selecionado
na janela Ambientes do Python.
3. Na barra de ferramentas principal, selecione Depurar>Iniciar a Criação de Perfil
do Python. O Visual Studio abre a caixa de diálogo Configurações de Criação de
Perfil:
4. Na caixa de diálogo Configurações de Criação de Perfil, escolha o arquivo de
código ou o código do projeto cujo perfil você deseja criar:
Para criar o perfil completo do código do projeto:
a. Selecione Abrir projeto.
b. Selecione o projeto usando a lista suspensa. A lista mostra todos os
projetos na solução Visual Studio atual.
Para criar o perfil de um arquivo específico:
a. Selecione Script autônomo.
b. Selecione o Interpretador do Python usando a lista suspensa ou navegue
até a localização. Para especificar um interpretador não listado, escolha
Outros na lista suspensa e, em seguida, especifique o Caminho do
Interpretador.
c. Identifique o arquivo de Script ou navegue até a localização.
d. Especifique o Diretório de Trabalho ou navegue até a localização.
e. Especifique os Argumentos da Linha de Comando para o script.
5. Selecione Iniciar.
Ocorre a execução do criador de perfil e um relatório de desempenho é aberto no
Visual Studio. É possível realizar a revisão do relatório para explorar como o tempo é
utilizado em seu aplicativo:
Usar o criador de perfil com o IronPython
O IronPython é uma implementação .NET do Python que está disponível nas versões de
32 bits e de 64 bits. O IronPython não é um interpretador baseado em CPython. O
Visual Studio oferece suporte à depuração padrão do Python para o IronPython, mas
não aos recursos de criação de perfil.
Para projetos em IronPython, é possível usar o criador de perfil do Visual Studio .NET.
Realize a execução do comando [Link] , de forma direta, como o aplicativo de destino
com os argumentos apropriados para iniciar o script de inicialização. Na linha de
comando, inclua o argumento -X:Debug para garantir que todo o código Python seja
depurado e passe pelo criador de perfil. Esse argumento gera um relatório de
desempenho que inclui o tempo utilizado no runtime do IronPython e seu código. O
código é identificado ao usar nomes desconfigurados.
O IronPython disponibiliza algumas criações de perfil internas, mas atualmente não há
nenhum visualizador funcional. Para obter mais informações, confira An IronPython
Profiler (postagem no blog) e Debugging and Profiling na documentação do
IronPython.
Conteúdo relacionado
Instalar interpretadores do Python
Tutorial: Run code in the Debugger in Visual Studio
Comentários
Esta página foi útil? Yes No
Gravação de testes de unidade para o
Python com o Gerenciador de Testes no
Visual Studio
Artigo • 23/04/2024
Testes de unidade são partes do código que testam outras unidades de código em um
aplicativo, normalmente, funções isoladas, classes e assim por diante. Quando um
aplicativo passa em todos os testes de unidade, você pode ter certeza de que, no
mínimo, a funcionalidade do programa de baixo nível está correta.
O Python usa testes de unidade extensivamente para validar cenários durante a criação
de um programa. O suporte do Python no Visual Studio inclui a descoberta, a execução
e a depuração de testes de unidade no contexto do processo de desenvolvimento, sem
precisar executar os testes separadamente.
Este artigo fornece uma breve descrição das funcionalidades de teste de unidade no
Visual Studio com o Python. Para obter mais informações sobre testes de unidade em
geral, consulte Executar um teste de unidade no código.
Pré-requisitos
Instalação do Visual Studio no Windows com suporte para cargas de trabalho em
Python. Para obter mais informações, confira Instalar o suporte ao Python no
Visual Studio.
Um projeto em Python com código ou uma pasta com código Python.
Não há suporte ao Visual Studio para Mac. Para obter mais informações, consulte O que
está acontecendo com o Visual Studio para Mac? O Visual Studio Code no Windows, no
Mac e no Linux funciona perfeitamente com o Python por meio das extensões
disponíveis .
Seleção da estrutura de teste para um projeto
em Python
O Visual Studio oferece suporte a duas estruturas de teste para Python: unittest e
pytest (que estão disponíveis na versão 16.3 e em versões posteriores do Visual
Studio 2019). Por padrão, nenhuma estrutura é selecionada quando você cria um
projeto do Python.
Siga estas etapas para realizar a seleção da estrutura de teste para o projeto em Python:
1. No Gerenciador de Soluções, clique com o botão direito do mouse no nome do
projeto e selecione Propriedades.
2. No painel Propriedades do projeto, selecione a guia Teste e escolha o seu tipo de
Estrutura de teste:
Para a estrutura unittest, o Visual Studio atribui o Diretório raiz do projeto
para a detecção de testes. O valor padrão é . , mas é possível especificar uma
localização diferente ao definir as configurações do projeto. Além disso, é
possível especificar uma ou mais sequências para o nome do arquivo de teste
Padrão, como test*.py, test_*.py .
Para a estrutura pytest, as opções de teste, como a localização de teste e os
padrões do nome do arquivo, são especificadas ao usar o arquivo de
configuração .ini do pytest padrão. Por padrão, a pasta de espaço de trabalho
ou de projeto é usada como a localização. O padrão do nome do arquivo
padrão inclui test_*py e *_test.py . Para saber mais, consulte a
documentação de referência pytest .
7 Observação
Ao definir o padrão do nome do arquivo, lembre-se de que caracteres
especiais como o sublinhado ( _ ) não correspondem ao caractere curinga ( * ).
Se desejar usar caracteres especiais no nome do arquivo, especifique esses
caracteres na definição do padrão, como test_*.py .
3. Para salvar a seleção e as configurações de estrutura, é possível usar o atalho de
teclado Ctrl+S.
Após configurar a estrutura, o Visual Studio inicia a detecção de testes e abre o
Gerenciador de Testes.
Configurar o teste para Python sem um projeto
O Visual Studio permite que você execute e teste o código Python existente sem um
projeto, abrindo uma pasta com código Python. Nesse cenário, você precisa usar um
arquivo [Link] para configurar os testes.
1. Abra o código Python existente ao usar a opção Abrir uma Pasta Local:
2. Ao abrir uma pasta do Python, o Visual Studio cria várias pastas ocultas para
gerenciar as configurações relacionadas ao programa. Para visualizar essas pastas
(e outros arquivos e pastas ocultos, como a pasta .git) no Gerenciador de
Soluções, selecione a opção Mostrar Todos os Arquivos:
3. No Gerenciador de Soluções, expanda a pasta Configurações Locais e realize um
clique duplo no arquivo [Link] para abri-lo no editor.
7 Observação
A maioria das configurações mostra dois arquivos de configurações:
[Link] e [Link]. Para esse exercício, você precisa
modificar o arquivo [Link].
Caso não veja o arquivo [Link] na pasta Configurações Locais, você
poderá criá-lo de forma manual:
a. Clique com o botão direito do mouse na pasta Configurações Locais e selecione
Adicionar>Novo Arquivo.
b. Nomeie o arquivo [Link] e selecione Enter para salvar as
alterações.
O Visual Studio abre automaticamente o novo arquivo no editor.
4. No arquivo [Link], adicione o código apresentado a seguir para
definir TestFramework . Defina o valor da estrutura como pytest ou unittest com
base na estrutura de teste desejada:
JSON
{
"TestFramework": "unittest",
"UnitTestRootDirectory": "testing",
"UnitTestPattern": "test_*.py"
}
Para a estrutura unittest, se você não definir valores específicos para as
configurações UnitTestRootDirectory e UnitTestPattern no arquivo
[Link], o Visual Studio adicionará automaticamente esses
campos com os valores padrão de . e test*.py , respectivamente.
Para a estrutura pytest, as opções de configuração são sempre especificadas
no arquivo de configuração .ini do pytest, e não nas configurações do Visual
Studio.
5. Se o programa em Python contém uma pasta src separada da pasta que contém os
testes, especifique o caminho para a pasta src com a configuração SearchPaths no
arquivo [Link]:
JSON
"SearchPaths": [".\\src"]
6. Salve as alterações para o arquivo [Link].
Após configurar a estrutura, o Visual Studio inicia a detecção de testes para a estrutura
especificada. É possível acessar o teste no Gerenciador de Testes.
Adição e descoberta de testes
Por padrão, o Visual Studio identifica unittest e pytest como métodos cujos nomes
começam com test .
Para visualizar como o Visual Studio inicia a detecção de testes, siga estas etapas:
1. Abra um projeto em Python no Visual Studio.
2. Configure as Propriedades da estrutura de teste para o projeto, conforme descrito
em Seleção da estrutura de teste para um projeto em Python.
3. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto e
selecione Adicionar>Novo Item.
a. Na caixa de diálogo Adicionar Novo Item, selecione o tipo de arquivo Teste de
Unidade em Python.
b. Insira um nome do arquivo que satisfaça a definição do Padrão especificada
para as Propriedades do projeto.
c. Selecione Adicionar.
4. O Visual Studio cria o arquivo de teste com o código padrão:
Python
import unittest
class Test_test1([Link]):
def test_A(self):
[Link]("Not implemented")
if __name__ == '__main__':
[Link]()
Esse código importa o módulo padrão unittest e deriva uma classe de teste do
método [Link] . Ao executar o script diretamente, esse código também
invoca a função [Link]() .
Ao adicionar novos arquivos de teste, o Visual Studio os disponibiliza no Gerenciador de
Testes.
Exibição de testes com o Gerenciador de Testes
Após configurar a estrutura de teste e os arquivos de teste, o Visual Studio pesquisa os
testes e os exibe no Gerenciador de Testes.
Confira abaixo algumas maneiras para se trabalhar com o Gerenciador de Testes:
Abra a janela Gerenciador de Testes ao selecionar Testes>Gerenciador de Testes.
Quando a janela Gerenciador de Testes estiver aberta, use o atalho de teclado
CTRL+R, A para acionar a detecção de testes.
Realize um clique duplo em um teste no Gerenciador de Testes para abrir o
arquivo de origem correspondente no editor:
Organize a exibição dos testes ao usar a opção Agrupar por na barra de
ferramentas:
Filtre os testes por nome ao inserir texto no campo Pesquisar:
Execute testes e realize a exibição do status da execução de teste, conforme
descrito na próxima seção.
Para obter mais informações sobre o módulo unittest e realizar a gravação de testes,
confira a documentação do Python .
Executar testes com o Gerenciador de Testes
No Gerenciador de Testes, é possível realizar a execução de testes de diversas maneiras:
Selecione Executar Todos (os testes na exibição) para executar todos os testes
mostrados na exibição atual com base nas configurações do filtro.
Use os comandos do menu Executar para realizar a execução de testes com falha,
aprovados ou para realizar uma execução sem ser em grupo.
Selecione um ou mais testes e, em seguida, clique com o botão direito do mouse e
selecione a opção Executar Testes Selecionados.
O Visual Studio executará os testes em segundo plano. O Gerenciador de Testes
atualiza o status de cada teste à medida que ele é concluído:
Os testes aprovados apresentam um tique verde e o tempo para a conclusão da
execução de teste:
Os testes com falha apresentam um X vermelho com um link de Saída que mostra
a saída do console e a saída unittest da execução de teste:
Verificação de testes com o Depurador
Os testes de unidades são segmentos de código suscetíveis a bugs, como qualquer
outro código, e às vezes requerem execução em um depurador. No Depurador do
Visual Studio, é possível definir pontos de interrupção, analisar variáveis e examinar o
código. O Visual Studio também fornece ferramentas de diagnóstico para testes de
unidade.
Realize uma revisão destes pontos sobre como verificar os testes com o Depurador do
Visual Studio:
Por padrão, a depuração de teste usa o depurador debugpy para a versão 16.5 e
para versões posteriores do Visual Studio 2019. Algumas versões anteriores do
Visual Studio usam o depurador ptvsd 4. Se você estiver usando uma versão
anterior do Visual Studio e preferir o depurador ptvsd 3, selecione a opção Usar o
Depurador Herdado em Ferramentas>Opções>Python>Depuração.
Para iniciar a depuração, defina um ponto de interrupção inicial no código, clique
com o botão direito do mouse no teste (ou em uma seleção) no Gerenciador de
Testes e escolha Depurar Testes Selecionados. O Visual Studio inicia o depurador
do Python como faria com o código do aplicativo.
Se preferir, é possível usar Analisar Cobertura de Código para Testes
Selecionados. Para obter mais informações, confira Usar a cobertura de código
para determinar quanto do código está sendo testado.
Conteúdo relacionado
Ferramentas e tarefas de teste de unidade
Introdução ao teste de unidade
Comentários
Esta página foi útil? Yes No
Usar a extensão Cookiecutter
Artigo • 18/04/2024
O Cookiecutter fornece uma interface gráfica do usuário para descobrir modelos e
opções de modelo de entrada e criar projetos e arquivos. O Visual Studio 2017 e
posterior inclui a extensão Cookiecutter. Ela pode ser instalada separadamente em
versões anteriores do Visual Studio.
No Visual Studio, a extensão Cookiecutter está disponível em View>Cookiecutter
Explorer:
Pré-requisitos
Visual Studio. Para instalar o produto, siga as etapas em Instalar o Visual Studio.
Python 3.3 ou posterior (32 ou 64 bits) ou o Anaconda 3 4.2 ou posterior (32 ou 64
bits).
Se um interpretador do Python adequado não estiver disponível, o Visual Studio
exibirá um aviso.
Se você instalar um interpretador do Python enquanto o Visual Studio estiver
em execução, selecione a opção Início na barra de ferramentas do Cookiecutter
Explorer para detectar o interpretador recém-instalado. Para obter mais
informações, consulte Criar e gerenciar ambientes do Python no Visual Studio.
Trabalhar com o Cookiecutter Explorer
No Cookiecutter Explorer, você pode procurar e selecionar modelos, clonar modelos
para seu computador local, definir opções de modelo e criar código a partir de modelos.
Procurar modelos
Você pode procurar modelos no Cookiecutter Explorer para ver o que já está instalado
e o que está disponível.
1. No Cookiecutter Explorer, selecione a opção Início na barra de ferramentas para
exibir os modelos disponíveis.
A home page exibe uma lista de modelos a serem escolhidos, organizados em
quatro possíveis grupos:
ノ Expandir a tabela
Grupo Descrição Observações
Instalado Modelos instalados no computador Você pode remover um
local. Quando um modelo online é modelo instalado do sistema
usado, seu repositório é clonado selecionando Excluir na barra
automaticamente em uma subpasta de de ferramentas do
~/.cookiecutters. Cookiecutter Explorer.
Recomendado Modelos carregados do feed Você pode personalizar o feed
recomendado. A Microsoft organiza o seguindo as etapas em Definir
feed padrão. opções do Cookiecutter.
GitHub Resultados da pesquisa do GitHub para Quando a lista de resultados
a palavra-chave "cookiecutter". A lista excede a exibição atual, você
de repositórios git é retornada em pode selecionar a opção
formato paginado. Carregar Mais para mostrar o
próximo conjunto de
resultados paginados na lista.
Personalizado Quaisquer modelos personalizados Você pode definir um modelo
definidos por meio do Cookiecutter personalizado inserindo o
Explorer. Quando um local de modelo caminho completo para o
personalizado é inserido na caixa de repositório git ou o caminho
pesquisa do Cookiecutter Explorer , o completo para uma pasta no
local aparece nesse grupo. disco local.
2. Para mostrar ou ocultar a lista de modelos disponíveis para uma categoria
específica, selecione a seta ao lado da categoria.
Clonar modelos
Você pode trabalhar com modelos disponíveis no Cookiecutter Explorer para fazer
cópias locais para trabalhar.
1. No Cookiecutter Explorer, selecione um modelo. As informações sobre o modelo
selecionado são exibidas na parte inferior da home page do Cookiecutter Explorer
.
O resumo do modelo inclui links para obter mais informações sobre o modelo.
Você pode ir para a página do repositório do GitHub referente ao modelo,
visualizar o Wiki do modelo ou encontrar os Problemas relatados.
2. Para clonar o modelo selecionado, selecione Avançar. O Cookiecutter faz uma
cópia local do modelo.
O comportamento de clonagem depende do tipo de modelo selecionado:
ノ Expandir a tabela
Tipo do modelo Comportamento
Instalado Se o modelo selecionado foi instalado em uma sessão anterior do Visual
Studio, ele é excluído automaticamente, e a versão mais recente é instalada e
clonada no computador local.
Recomendado O modelo selecionado é clonado e instalado no computador local.
GitHub O modelo selecionado é clonado e instalado no computador local.
Pesquisa - URL: se você inserir um URL personalizado para um repositório git na caixa
personalizada de pesquisa do Cookiecutter Explorer e, em seguida, selecionar o modelo, o
modelo selecionado será clonado e instalado no computador local.
- Caminho da pasta: se você inserir um caminho de pasta personalizado na
Tipo do modelo Comportamento
caixa de pesquisa e selecionar o modelo, o Visual Studio carregará esse
modelo sem clonagem.
) Importante
Os modelos do Cookiecutter são clonados em uma única pasta ~/.cookiecutters.
Cada subpasta é nomeada de acordo com o nome do repositório Git, que não
inclui o nome de usuário do GitHub. Poderão surgir conflitos se você clonar
modelos diferentes com o mesmo nome que são de autores diferentes. Nesse caso,
o Cookiecutter impede que você substitua o modelo existente por um modelo
diferente com o mesmo nome. Para instalar o outro modelo, é necessário primeiro
excluir existente.
Configurar opções de modelo
Depois de instalar e clonar um modelo localmente, o Cookiecutter exibe a página
Opções. Nessa página, você pode especificar configurações, como o local do caminho
da pasta para os arquivos gerados:
Cada modelo do Cookiecutter define seu próprio conjunto de opções. Quando um valor
padrão está disponível para uma configuração, a página Opções mostra o texto
sugerido no campo correspondente. Um valor padrão pode ser um snippet de código,
geralmente, quando ele é um valor dinâmico que usa outras opções.
Para este exemplo, o nome do modelo é definido como cookiecutter-
flask/cookiecutter-flask. Quando um valor de configuração pode ser alterado, o texto
do campo fica disponível para edição.
1. No campo Criar para, insira o local do caminho da pasta para todos os arquivos
gerados pelo Cookiecutter.
2. Em seguida, defina outras opções desejadas para o modelo, como:
full_name: o nome completo a ser aplicado ao modelo.
email: o endereço de e-mail do autor do modelo.
github_username: o alias do GitHub do autor do modelo.
python_version: a versão Python de destino para aplicativos Web criados a
partir do modelo.
Definir padrões com um arquivo de configuração
Você pode personalizar os valores padrão de opções específicas com um arquivo de
configuração do usuário. Quando a extensão Cookiecutter detecta um arquivo de
configuração do usuário, ela substitui os valores padrão do modelo pelos valores do
arquivo de configuração. Para obter mais informações sobre esse comportamento,
consulte a seção Configuração do usuário da documentação do Cookiecutter.
Desativar tarefas especificadas
Alguns modelos identificam tarefas específicas do Visual Studio a serem executadas
após a geração de código. As tarefas comuns incluem abrir um navegador da Web, abrir
arquivos no editor e instalar dependências. Quando um modelo identifica tarefas
específicas, a configuração Executar tarefas adicionais ao concluir é adicionada à lista
de opções. Você pode definir essa configuração para desativar as tarefas especificadas
do Visual Studio.
Criar código com base em modelos
Depois de definir suas opções de modelo, você estará pronto para usar o Cookiecutter
para criar os arquivos de projeto e gerar o código.
A caixa de diálogo exibe um botão após a lista de opções. O texto do botão depende
do modelo. Você pode ver Criar e abrir pasta, Adicionar à solução e assim por diante.
1. Na página Opções selecione o botão que segue a lista de opções, como Criar e
abrir pasta ou Adicionar à solução.
O Cookiecutter gera o código. Se a pasta de saída não estiver vazia, um aviso será
exibido.
Caso você já conheça a saída do modelo e não se incomode em substituir
arquivos, selecione OK para ignorar o aviso.
Caso contrário, selecione Cancelar, especifique uma pasta vazia e, em
seguida, copie manualmente os arquivos criados para a pasta de saída não
vazia.
2. Depois que o Cookiecutter criar com êxito os arquivos, o Visual Studio abrirá os
arquivos de projeto de modelo no Gerenciador de Soluções.
Definir as opções do Cookiecutter
As opções do Cookiecutter estão disponíveis por meio de
Ferramenta>Opções>Cookiecutter:
ノ Expandir a tabela
Opção Descrição
Verificar se há Controla se o Cookiecutter verifica automaticamente online se há
modelos atualizações para os modelos instalados.
atualizados
URL do feed A localização do arquivo de feed recomendado dos modelos. O local pode
recomendado ser um URL ou um caminho para um arquivo local. Deixe a URL vazia para
usar o feed padrão coletado pela Microsoft. O feed fornece uma lista simples
de localizações de modelos, separadas por novas linhas. Para solicitar
alterações ao feed coletado, faça uma solicitação pull na fonte, no GitHub .
Opção Descrição
Mostrar Ajuda Controla a visibilidade da barra de informações de ajuda na parte superior da
janela do Cookiecutter.
Otimizar modelos do Cookiecutter para o
Visual Studio
A extensão Cookiecutter para o Visual Studio dá suporte aos modelos criados para o
Cookiecutter v1.4. Para obter mais informações sobre como criar modelos do
Cookiecutter, consulte a documentação do Cookiecutter .
A renderização padrão de uma variável de modelo depende do tipo de dados (cadeia
de caracteres ou lista):
String: o tipo de dados String usa um rótulo para o nome da variável, uma caixa de
texto para inserir o valor e uma marca d'água que mostra o valor padrão. Uma dica
de ferramenta na caixa de texto mostra o valor padrão.
List: o tipo de dados List usa um rótulo para o nome da variável e uma caixa de
combinação para selecionar um valor. Uma dica de ferramenta na caixa de
combinação mostra o valor padrão.
Você pode melhorar a renderização especificando outros metadados adicionais no
arquivo [Link] que são específicos ao Visual Studio (e ignorados pela CLI do
Cookiecutter). Todas as propriedades são opcionais:
ノ Expandir a tabela
Propriedade Descrição
label Especifica o texto a ser exibido acima do editor para a variável, em vez do nome
da variável.
description Especifica a dica de ferramenta a ser exibida no controle de edição, em vez do
valor padrão dessa variável.
url Altera o rótulo para um hiperlink, com uma dica de ferramenta que mostra a URL.
Clicar no hiperlink abre o navegador padrão do usuário nessa URL.
selector Permite a personalização do editor para uma variável. Atualmente, há suporte
para os seguintes seletores:
- string : caixa de texto padrão, o padrão para cadeias de caracteres.
- list : caixa de combinação padrão, o padrão para listas.
- yesno : caixa de combinação para escolher entre y e n , para cadeias de
caracteres.
Propriedade Descrição
- odbcConnection : Caixa de texto com um botão de reticências (...) que abre uma
caixa de diálogo de conexão de banco de dados.
O exemplo a seguir mostra como definir propriedades de renderização:
JSON
{
"site_name": "web-app",
"python_version": ["3.5.2"],
"use_azure": "y",
"_visual_studio": {
"site_name": {
"label": "Site name",
"description": "E.g. <site-name>.[Link] (can only
contain alphanumeric characters and `-`)"
},
"python_version": {
"label": "Python version",
"description": "The version of Python to run the site on"
},
"use_azure" : {
"label": "Use Azure",
"description": "Include Azure deployment files",
"selector": "yesno",
"url": "[Link]
}
}
}
Executar tarefas do Visual Studio
O Cookiecutter tem um recurso chamado Pós-gerar Ganchos, que permite executar
código arbitrário do Python após a geração dos arquivos. Embora o recurso seja flexível,
ele não permite fácil acesso ao Visual Studio.
Você pode usar esse recurso para abrir um arquivo no editor do Visual Studio ou seu
navegador da Web. Você também pode disparar a interface do usuário do Visual Studio
que solicita que o usuário crie um ambiente virtual e instale os requisitos do pacote.
Para permitir esses cenários, o Visual Studio procura metadados estendidos no arquivo
[Link]. Ele procura os comandos a serem executados depois que o usuário
abre os arquivos gerados no Gerenciador de Soluções ou depois que os arquivos são
adicionados a um projeto existente. (Novamente, o usuário pode recusar a execução das
tarefas desmarcando a opção de modelo Executar tarefas adicionais após a conclusão.)
O exemplo a seguir mostra como definir metadados estendidos no arquivo
[Link]:
JSON
"_visual_studio_post_cmds": [
{
"name": "[Link]",
"args": "{{cookiecutter._output_folder_path}}\\[Link]"
},
{
"name": "[Link]",
"args": "[Link]
},
{
"name": "[Link]",
"args": "{{cookiecutter._output_folder_path}}\\[Link]"
}
]
Especifique os comandos pelo nome e use o nome não localizado (em inglês) para
funcionar em instalações localizadas do Visual Studio. É possível testar e descobrir os
nomes de comando na janela Comando do Visual Studio.
Se você quiser passar um único argumento, especifique o argumento como uma cadeia
de caracteres, conforme mostrado para os metadados name no exemplo anterior.
Se não precisar passar um argumento, deixe o valor como uma cadeia de caracteres
vazia ou omita-o do arquivo JSON:
JSON
"_visual_studio_post_cmds": [
{
"name": "[Link]"
}
]
Para vários argumentos, use uma matriz. Para opções, divida a opção e seu valor em
argumentos separados e use a delimitação correta, conforme mostrado neste exemplo:
JSON
"_visual_studio_post_cmds": [
{
"name": "[Link]",
"args": [
"{{cookiecutter._output_folder_path}}\\read [Link]",
"/e:",
"Source Code (text) Editor"
]
}
]
Os argumentos podem se referir a outras variáveis do Cookiecutter. No exemplo
anterior, a variável _output_folder_path interna é usada para formar um caminho
absoluto para os arquivos gerados.
O comando [Link] apenas funciona ao adicionar arquivos
a um projeto existente. Essa limitação existe porque o comando é processado pelo
projeto Python no Gerenciador de Soluções e não há nenhum projeto para receber a
mensagem no Gerenciador de Soluções - Exibição de Pasta.
Solucionar problemas de modelo
Veja as seções a seguir para obter dicas sobre como solucionar problemas no ambiente
e código Python ao trabalhar com o Cookiecutter.
Erro ao carregar o modelo
Alguns modelos podem usar tipos de dado inválidos no arquivo [Link], como
o booliano. Você pode reportar essas instâncias para o autor do modelo selecionando o
link Problemas no painel de informações do modelo.
Script de gancho com falha
Alguns modelos podem usar scripts pós-geração que não são compatíveis com a
interface do usuário do Cookiecutter. Por exemplo, os scripts que consultam a entrada
do usuário podem falhar devido a uma falta de console de terminal.
Script de gancho sem suporte no Windows
Se o arquivo pós-script for .sh, ele poderá não ser associado a um aplicativo no
computador Windows. Você poderá ver uma caixa de diálogo do Windows pedindo
para você encontrar um aplicativo compatível na Windows Store.
Modelos com problemas conhecidos
Você pode descobrir se um modelo tem problemas conhecidos usando o link
Problemas no resumo do modelo no Cookiecutter Explorer:
O link abre a página de problemas do GitHub para o modelo:
Conteúdo relacionado
Referência de modelos de item do Python
Cookiecutter: melhores modelos de projeto
Comentários
Esta página foi útil? Yes No
Modelos de item do Python
Artigo • 19/06/2023
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
Os modelos de item estão disponíveis em projetos do Python através do comando de
menu Projeto>Adicionar Novo Item ou do comando Adicionar>Novo Item no menu
de contexto no Gerenciador de Soluções.
Se você usar o nome fornecido para o item, o modelo geralmente criará um ou mais
arquivos e pastas dentro da pasta que está atualmente marcada no projeto (ao clicar
duas vezes com o botão direito do mouse em uma pasta para exibir o menu de
contexto, essa pasta será automaticamente marcada). Se você adicionar um item, ele
será incluído no projeto do Visual Studio e será exibido no Gerenciador de Soluções.
A tabela a seguir explica brevemente o efeito de cada modelo de item em um projeto
do Python:
Modelo O que o modelo cria
Arquivo vazio do Um arquivo vazio com a extensão .py.
Python
Modelo O que o modelo cria
Classe Python Um arquivo .py que contém uma única definição de classe vazia do
Python.
Pacote do Python Uma pasta que contém um arquivo __init__.py.
Teste de Unidade do Um arquivo .py com um único teste de unidade baseado na estrutura
Python unittest , juntamente com uma chamada a [Link]() para
executar os testes no arquivo.
Página HTML Um arquivo .html com uma estrutura de página simples que consiste
em um <head> e um elemento <body> .
JavaScript Um arquivo .js vazio.
Folha de Estilos Um arquivo .css que contém um estilo vazio para body .
Arquivo de texto Um arquivo .txt vazio.
Aplicativo Django 1.9 Uma pasta com o nome do aplicativo que contém os arquivos principais
Aplicativo Django 1.4 de um aplicativo do Django conforme explicado em Aprender Django
no Visual Studio, Etapa 2 de 2 para o Django 1.9. No caso do Django
1.4, a pasta migrations, o arquivo [Link] e o arquivo [Link] não
estão incluídos.
Arquivos de Suporte Uma pasta bin na raiz do projeto (independentemente da pasta
de Função da Web escolhida no projeto). A pasta contém um script de implantação padrão
e um arquivo [Link] para funções da web do Serviço de Nuvem do
Azure. O modelo também inclui um arquivo [Link] que explica os
detalhes.
Arquivos de suporte à Uma pasta bin na raiz do projeto (independentemente da pasta
função de trabalho escolhida no projeto). A pasta contém o script de implantação e
lançamento padrão, além de um arquivo [Link], para funções de
trabalho do Serviço de Nuvem do Azure. O modelo também inclui um
arquivo [Link] que explica os detalhes.
[Link] do Azure Um arquivo [Link] que contém entradas para aplicativos que usam
(FastCGI) um objeto WSGI para tratar das conexões de entrada. Normalmente,
esse arquivo é implantado na raiz de um servidor Web que executa o
IIS. Para saber mais, confira Configurar um aplicativo para IIS.
[Link] do Azure Um arquivo [Link] que contém entradas para aplicativos que
(HttpPlatformHandler) escutam conexões de entrada com um soquete. Normalmente, esse
arquivo é implantado na raiz de um servidor Web que executa o IIS,
como o Serviço de Aplicativo do Azure. Para saber mais, confira
Configurar um aplicativo para IIS.
Modelo O que o modelo cria
Arquivos estáticos Um arquivo [Link] normalmente adicionado a uma pasta static (ou
[Link] do Azure outra pasta que contém itens estáticos) para desabilitar o
processamento do Python para essa pasta. Esse arquivo de
configuração funciona em conjunto com um dos arquivos de
configuração FastCGI ou HttpPlatformHandler acima. Para saber mais,
confira Configurar um aplicativo para IIS.
Depuração remota de Preterido (foi usado para depuração remota no Serviço de Aplicativo do
[Link] do Azure Azure para Windows, que não é mais suportado).
Confira também
Gerenciar projetos Python – Modelos de projetos
Modelos de projeto Web do Python
Opções para o Python no Visual Studio
Artigo • 18/04/2024
O Visual Studio fornece suporte na configuração do ambiente de desenvolvimento
interativo (IDE) para desenvolvimento em Python. Você pode definir opções de acordo
com suas preferências e para atender às necessidades específicas do ambiente de
desenvolvimento. Este artigo descreve as opções disponíveis para layout e
comportamento gerais, depuração, diagnóstico e recursos avançados da linguagem
Python.
Local das opções para Python
As definições de configuração do Python estão disponíveis na barra de ferramentas do
Visual Studio em Ferramentas>Opções. A caixa de diálogo Opções lista a maioria das
configurações do Python na guia Python:
Você pode configurar preferências para depuração, análise de servidor de linguagem
Pylance, ambientes do Conda, ambiente geral e Janelas Interativas.
A caixa de diálogo Opções lista outras configurações do Python em Editor de
Texto>Python. Há opções para barras de rolagem, guias e formatação, além de
configurações gerais e avançadas. Outras configurações estão disponíveis em
Ambiente>Fontes e Cores para o grupo de configurações do Editor de Texto.
7 Observação
A caixa de diálogo Opções pode incluir uma guia ou grupo Experimental para
recursos em desenvolvimento que não são descritos neste artigo. Você encontra
mais informações em postagens sobre a engenharia Python no blog da
Microsoft .
Opções específicas do Python
Em Ferramentas>Opções>Python, você pode definir opções específicas do Python para
o ambiente geral, incluindo Janelas Interativas, ambientes do Conda, depuração e
muito mais.
Opções gerais do Python
As seguintes opções estão disponíveis em Ferramentas>Opções>Python>Geral:
ノ Expandir a tabela
Opção Padrão Descrição
Mostrar a Janela Ativado Desmarque essa opção para impedir que a janela Saída seja
de Saída ao criar exibida.
ambientes virtuais
Mostrar a Janela Ativado Desmarque essa opção para impedir que a janela Saída seja
de Saída ao exibida.
instalar ou
remover pacotes
Mostrar barra de Ativado Quando essa opção é configurada e o usuário abre um
notificações para projeto que contém um arquivo [Link] ou
criar ambientes [Link], o Visual Studio exibe uma barra de
informações com sugestões para criar um ambiente virtual ou
ambiente do Conda, respectivamente, em vez de usar o
ambiente global padrão.
Mostrar barra de Ativado Quando essa opção é configurada e o usuário abre um
notificações para projeto que contém um arquivo [Link] que não usa
instalar pacotes o ambiente global padrão, o Visual Studio compara esses
requisitos com pacotes instalados no ambiente atual. Se
houver pacotes ausentes, o Visual Studio exibirá um prompt
para instalar essas dependências.
Opção Padrão Descrição
Mostrar barra de Ativado Quando essa opção é configurada, se o Visual Studio detectar
notificação para arquivos no projeto Python que possam conter testes, mas
configurar a nenhuma estrutura de teste está habilitada, o Visual Studio
estrutura de teste solicita que você habilite pytest ou unittest.
Sempre executar Desativado Sempre eleva pip install e operações semelhantes de
gerenciadores de gerenciador de pacote para todos os ambientes. Ao instalar
pacotes como pacotes, o Visual Studio solicita privilégios de administrador
administrador se o ambiente estiver localizado em uma área protegida do
sistema de arquivos, como c:\Program Files. Nesse prompt,
você pode optar por sempre elevar o comando de instalação
apenas para esse ambiente específico. Para obter mais
informações, consulte a guia Pacotes.
Opções de ambiente do Conda
As seguintes opções estão disponíveis em Ferramentas>Opções>Python>Conda:
ノ Expandir a tabela
Opção Padrão Descrição
Caminho do (blank) Especifica um caminho exato para o arquivo executável [Link], em
executável vez de contar com a instalação do Miniconda padrão incluído na carga
do Conda de trabalho do Python. Se outro caminho for fornecido aqui, ele terá
precedência sobre a instalação padrão e outros executáveis [Link]
especificados no registro. Essa configuração poderá ser alterada se você
instalar manualmente uma versão mais recente do Anaconda ou do
Miniconda ou se desejar usar uma distribuição de 32 bits em vez da
distribuição padrão de 64 bits.
Opções de depuração
As seguintes opções estão disponíveis em Ferramentas>Opções>Python>Depuração:
ノ Expandir a tabela
Opção Padrão Descrição
Perguntar antes de Ativado Quando essa opção é configurada, o Visual Studio solicita
executar quando uma confirmação de que deseja executar o código que
houver erros contém erros. Para desabilitar o aviso, desmarque essa
opção.
Opção Padrão Descrição
Aguardar pela Ativo (para Um programa de Python iniciado no Visual Studio é
entrada quando o os dois) executado em sua própria janela de console. Por padrão, a
processo for janela espera que você pressione uma tecla antes de
encerrado de forma fechá-la, independentemente de como o programa é
anormal encerrado. Para remover este prompt e fechar a janela
automaticamente, desmarque uma ou ambas as opções.
Aguardar pela
entrada quando o
processo for
encerrado
normalmente
A saída do programa Ativado Exibe a saída do programa em uma janela separada do
para Depurar a console e na janela de Saída do Visual Studio. Desmarque
janela de Saída esta opção para mostrar a saída somente na janela do
console separado.
Interromper a Desativado Se definido, interrompe o depurador nessa exceção.
exceção SystemExit Quando desmarcado, o depurador sai sem interromper.
com código de saída
zero
Habilitar a Desativado Torna possível intervir no código-fonte da biblioteca
depuração da padrão durante a depuração, mas aumenta o tempo
biblioteca padrão do necessário para iniciar o depurador.
Python
Mostrar o valor Ativado Exibe os valores retornados de função na janela Locals, em
retornado da função seguida, passa uma chamada de função no depurador
(F10)
Mostrar variáveis Ativado Exibe quatro grupos de variáveis a serem mostradas e
como formatar a exibição (agrupar, ocultar, embutir).
- Classe: o padrão é "Agrupar"
- Protegido: o padrão é "Embutir"
- Função: o padrão é "Agrupar"
- Especial: o padrão é "Agrupar"
Opções de análise
As seguintes opções estão disponíveis em Ferramentas>Opções>Python>Análise:
ノ Expandir a tabela
Opção Padrão Descrição
Modo de diagnóstico Somente Especifica quais arquivos de código o
arquivos servidor de linguagem analisa em busca de
abertos problemas, incluindo Apenas arquivos do
espaço de trabalho e Abertos.
Nível de log Informações Especifica o nível de registro em log a ser
executado pelo servidor de linguagem. Os
possíveis níveis de registro em log, no nível
crescente de informações fornecidas, incluem
Erro, Aviso, Informações e Rastreamento.
Verificação de tipo Desativado Especifica o nível da análise de verificação de
tipo a ser executada:
- Desativado: produza diagnóstico de
importações/variáveis não resolvidas, mas
não conduza análise de verificação de tipo
- Básico: use regras sem tipo (todas as regras
ativadas no nível Desativado ) e regras
básicas relacionadas à verificação de tipo
- Estrito: use todas as regras de verificação de
tipo na maior gravidade de erro, incluindo
todas as regras ativadas nos níveis
Desativado e Básico
Formato de importação Absolute Define o formato padrão ao importar
módulos automaticamente, incluindo
Absoluto ou Relativo.
Caminho de stubs <Empty Especifica um caminho para um diretório que
(vazio)> contém stubs do tipo personalizados. Espera-
se que os arquivos de stub de tipo para cada
pacote estejam em seu próprio subdiretório.
Caminhos de pesquisa <Empty Especifica caminhos de pesquisa para
(vazio)> resolução de importação. Aceita caminhos
especificados como sequências e separados
por vírgulas se houver vários caminhos, como
["path 1","path 2"] .
Caminhos Typeshed <Empty Especifica caminhos para que o Visual Studio
(vazio)> use arquivos Typeshed personalizados em vez
de sua versão agrupada.
Adicionar automaticamente Ativado Indica se os caminhos de pesquisa devem ser
caminhos de pesquisa comuns adicionados automaticamente com base em
como 'src' nomes predefinidos, como src .
Indexar bibliotecas instaladas Desativado Especifica se o servidor de linguagem deve
de terceiros e arquivos de indexar arquivos de usuário e bibliotecas de
Opção Padrão Descrição
usuário para recursos de terceiros instaladas na inicialização. O índice
linguagem, como importação fornece um conjunto mais completo de
automática, adição de símbolos em recursos, incluindo importações
importação, símbolos do espaço automáticas, correções rápidas, conclusões
de trabalho etc. automáticas, dentre outros.
- Quando essa opção é configurada, o Visual
Studio indexa os símbolos de nível superior
dos pacotes instalados, como símbolos em
tudo em package/__init__.py, com todos os
símbolos de até 2.000 arquivos de usuário.
- Quando essa opção não é configurada, o
Visual Studio exibe símbolos referenciados ou
usados em arquivos abertos anteriormente
ou carregados pelo editor.
Opções da Janela Interativa
As seguintes opções estão disponíveis em Ferramentas>Opções>Python>Janelas
Interativas:
ノ Expandir a tabela
Opção Padrão Descrição
Scripts n/a Especifica uma pasta geral para scripts de inicialização a serem
aplicados às Janelas Interativas de todos os ambientes. Para
obter mais informações, confira Scripts de inicialização.
Observação: esse recurso pode não funcionar na sua versão do
Visual Studio.
As setas Ativado Usa as teclas de direção para navegar no histórico na janela
para cima e Interativa. Desmarque essa configuração para usar as teclas de
para baixo direção para navegar na saída da janela Interativa.
navegam o
histórico
Modo de Avaliar O processo de determinar os membros disponíveis em uma
Conclusão somente expressão na Janela Interativa pode exigir a avaliação da
expressões expressão incompleta atual, que pode resultar em efeitos
sem colaterais ou funções sendo chamadas várias vezes. A
chamadas de configuração padrão Avaliar somente expressões sem função
função chamadas exclui expressões que aparecem para chamar uma
função, mas avaliada outras expressões. Por exemplo, ela avalia a
instrução a.b , mas não a instrução a().b . Nunca avaliar
expressões impede todos os efeitos colaterais, usando apenas o
mecanismo IntelliSense normal para obter sugestões. Avaliar
Opção Padrão Descrição
todas as expressões avalia a expressão completa para obter
sugestões, independentemente de efeitos colaterais.
Ocultar Desativado Quando definido, exibe apenas sugestões que são obtidas
sugestões de avaliando a expressão. Se combinado com o valor do Modo de
análise ConclusãoNunca avaliar expressões, nenhuma conclusão útil
estática será exibida na janela Interativa.
Opções de editor de texto para Python
Em Editor de Texto>Python, há opções para barras de rolagem, guias e formatação,
além de configurações gerais e avançadas:
Opções gerais de editor para Python
As seguintes opções estão disponíveis em Ferramentas>Opções>Editor de
Texto>Python>Geral:
ノ Expandir a tabela
Opção Padrão Descrição
Listar membros Ativado Defina essa opção para listar automaticamente os
automaticamente membros para conclusão das instruções de código.
Ocultar membros Ativado Quando a opção Listar membros automaticamente
avançados estiver habilitada, defina essa opção para ocultar
membros avançados das sugestões de conclusão.
Membros avançados são aqueles usados com menos
frequência do que outros.
Informações sobre Ativado Quando essa opção é configurada, passar o mouse sobre
parâmetros os parâmetros mostra informações detalhadas, como a
definição do item e links para a documentação.
Habilitar espaço Ativado Quando essa opção é configurada, insere espaços no final
virtual de cada linha de código. Selecione essa opção para
posicionar comentários em um ponto consistente ao lado
do seu código. O modo Espaço Virtual está habilitado no
modo Seleção de Coluna. Quando o modo Espaço Virtual
não está habilitado, o ponto de inserção é movido do final
de uma linha diretamente para o primeiro caractere da
próxima.
Observação: essa opção é influenciada pela configuração
global Editor de Texto>Todas as
Linguagens>Geral>Habilitar espaço virtual. Se a
configuração global não estiver habilitada, essa opção não
pode ser habilitada no nível da linguagem.
Quebra automática de Desativado Defina essa opção para permitir que longas linhas de
linha código sejam quebradas com base na largura do visor dos
editores.
Mostrar glifos visuais Desativado Quando a opção Quebra automática de linha estiver
para quebra habilitada, defina essa opção para mostrar glifos visuais.
automática de linha
Números de linha Desativado Defina essa opção para mostrar números de linha na
margem esquerda do editor para cada linha de código.
Habilitar navegação Ativado Quando essa opção é configurada, você pode dar um
de URL com um só clique simples em uma URL para navegar ao local de
clique destino.
Opção Padrão Descrição
Barra de navegação Desativado Defina essa opção para habilitar as caixas suspensas na
parte superior da janela de código. Esses campos ajudam
a navegar até o código em uma base de código onde
você pode escolher um tipo ou membro ao qual ir
diretamente.
Observação: essa opção é influenciada pela configuração
global Editor de Texto>Todas as
Linguagens>Geral>Habilitar barra de navegação. Para
obter mais informações, confira Navegar pelo código>
Barra de navegação.
Preenchimento Ativado Quando essa opção é configurada, o Visual Studio
automático de chaves adiciona automaticamente a chave de fechamento a
qualquer chave aberta à medida que o código é inserido.
Aplicar Cortar ou Ativado Por padrão, o Visual Studio corta ou copia toda a linha de
Copiar a linhas em código quando não há seleção explícita. Use essa opção
branco quando não para habilitar ou desabilitar esse comportamento de
houver nenhuma Cortar ou Copiar quando invocado em linhas em branco.
seleção
Para obter mais informações, confira Caixa de diálogo Opções: editor de texto > geral.
Opções avançadas de editor de Python
As seguintes opções estão disponíveis em Ferramentas>Opções>Editor de
Texto>Python>Avançado:
ノ Expandir a tabela
Opção Padrão Descrição
Oferecer conclusões de Ativado Quando essa opção é configurada, o Visual Studio
importação automática oferece importações automáticas na conclusão.
Adicionar grupos a Desativado Quando essa opção é configurada, o Visual Studio
funções automaticamente adiciona automaticamente grupos a funções à medida
que o código é inserido no editor.
Opções de Fontes e Cores
Outras opções do Python estão disponíveis em Ambiente>Fontes e Cores quando o
grupo Editor de Texto está configurado para Python:
Os nomes das opções de Python são prefixados com "Python" e são autoexplicativas. A
fonte padrão para todos os temas de cores do Visual Studio é 10 pt Consolas regular
(não está em negrito). As cores padrão variam de acordo com o tema. Normalmente,
você altera uma fonte ou cor para facilitar a leitura do texto.
Comentários
Esta página foi útil? Yes No