Visualstudio Python Vs 2022
Visualstudio Python Vs 2022
e VISÃO GERAL
b COMEÇAR AGORA
g TUTORIAL
O Visual Studio Code está disponível para Mac e Linux. Para saber mais, confira
Perguntas e respostas.
Introdução:
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.
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.
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.
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.
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.
Depurar o Python
Depuração de modo misto do Python/C++
Depuração remota no Linux
Tour de funcionalidades do depurador do Visual Studio
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.
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
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.
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:
Para obter mais informações, confira Python in SQL Server 2017: Enhanced in-database
machine learning (blog) .
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.
Dica
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
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
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 .
ノ Expandir a tabela
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.
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 você quiser fornecer novas formas de detecção para ambientes do Python, consulte
Detecção para ambiente da PTVS (github.com).
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.
Conteúdo relacionado
Gerenciar ambientes do Python
Selecionar um interpretador para um projeto
Usar requirements.txt 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.
Criar o projeto
As seguintes etapas criam um projeto vazio que serve como um contêiner para o
aplicativo.
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.
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.
Use as etapas a seguir para instalar a biblioteca Flask no ambiente global padrão que o
Visual Studio usa para este projeto.
7 Observação
Para obter mais informações sobre outros pacotes Python disponíveis, consulte o Índice
de pacotes Python .
@app.route('/')
@app.route('/hello')
def hello():
# Render the page
return "Hello Python!"
if __name__ == '__main__':
# Run the app server on localhost:4449
app.run('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 web.config . 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:
Mais uma vez, a solicitação GET aparece na janela de comando com um status de
200 .
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
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 .
1. Inicie o Visual Studio. Na janela Iniciar, selecione Abrir uma pasta local na coluna
Introdução:
2. Navegue até a pasta que contém o código do Python e escolha Selecionar 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 é contemplate-koans.py.
) Importante
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.
7 Observação
b. Reinicie o programa.
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 contemplate-koans.py.
Você decide definir o arquivo python3/contemplate-koans.py como Arquivo de
inicialização. Quando você executa o código, verá um erro informando que o arquivo
denominado koans.txt não foi encontrado. O erro ocorre porque o arquivo contemplate-
koans.py 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:
7 Observação
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"
}
]
}
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.
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:
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 requirements.txt 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.
Dica
O arquivo app.py ú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.
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
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
@app.route('/')
def hello():
"""Renders a sample page."""
return "Hello World!"
Python
if __name__ == '__main__':
import os
HOST = os.environ.get('SERVER_HOST', 'localhost')
try:
PORT = int(os.environ.get('SERVER_PORT', '5555'))
except ValueError:
PORT = 5555
app.run(HOST, PORT)
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 web.config 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.
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 .
) 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.
7 Observação
7. Selecione Concluir.
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 .
a. No local do repositório, insira o URL do repositório que deve ser clonado. Para
este exercício, insira https://github.com/gregmalcolm/python_koans .
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.
) 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.
) 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.
7 Observação
7. Selecione Concluir.
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.
Dica
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.
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:
Python
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.
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.
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.
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 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.
Neste tutorial você começará com um projeto simples, contendo apenas um arquivo de
código vazio.
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.
Após alguns instantes, seu novo projeto será aberto no Visual Studio:
(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.
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 python.org
Python para iniciantes (python.org)
Etapa 2: Escrever e executar código
Artigo • 14/07/2023
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
Python
Dica
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.
11. Selecione ou digite math e continue digitando com um espaço e import , o que
exibe os membros do módulo:
Python
import sys
from math import cos, radians
Dica
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)))
Próxima etapa
Usar a janela interativa REPL
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
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
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 PythonApplication1.py pelo
código abaixo:
Python
Dica
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:
Python
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
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
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.
Python
def main():
for i in range(0, 1800, 12):
s = make_dot_string(i)
print(s)
main()
Dica
Parar Depuração Interrompe o programa onde quer que esteja e sai do depurador.
(Shift+F5)
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.
Passo a passo (F10) Executa a próxima linha de código sem entrar em funções
chamadas.
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
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.
Dica
Próxima etapa
Instalar pacotes no ambiente do Python
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
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
def main():
x = np.arange(0, radians(1800), radians(12))
plt.plot(x, np.cos(x), 'b')
plt.show()
main()
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.
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
Dica
Para associar seu código ao Git, comece criando um repositório Git no local em que o
código está localizado:
Dica
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:
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
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.
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.
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
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.
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.
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.
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.
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 http://localhost:<port> . 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.
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.
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
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).
templates Uma pasta para modelos de página do Django que contém um único arquivo
index.html. O arquivo index.html é 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 index.html, 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.
admin.py 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 django.contrib import admin . Por padrão, o Django
Item Descrição
apps.py Um arquivo Python que define uma classe de configuração para o aplicativo (veja
abaixo, depois desta tabela).
models.py 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 models.py é um local
padrão onde você cria seus modelos. Inicialmente, o arquivo models.py contém
apenas a instrução from django.db import models .
views.py 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 views.py é um local
padrão onde você cria suas exibições. Inicialmente, o arquivo views.py contém
apenas a instrução from django.shortcuts import render .
Python
class HelloDjangoAppConfig(AppConfig):
name = 'HelloDjango'
Python
def index(request):
return HttpResponse("Hello, Django!")
2. Na pasta BasicProject (criada na etapa 1), modifique o arquivo urls.py para que ele
corresponda ao seguinte código (você poderá manter o comentário instrutivo se
desejar):
Python
# Django processes URL patterns in the order they appear in the array
urlpatterns = [
re_path(r'^$', HelloDjangoApp.views.index, name='index'),
re_path(r'^home$', HelloDjangoApp.views.index, 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 https://www.domain.com/ ).
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.
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 regex101.com em pythex.org .
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
def index(request):
now = datetime.now()
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 16:28:10". 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
Python
INSTALLED_APPS = [
'HelloDjangoApp',
# Other entries...
]
JSON
'APP_DIRS': True,
HTML
<html>
<head>
<title></title>
</head>
<body>
{{ content }}
</body>
</html>
Python
def index(request):
now = datetime.now()
return render(
request,
"HelloDjangoApp/index.html", # Relative path from the
'templates' folder to the template file
# "index.html", # Use this code for VS 2017 15.7 and earlier
{
'content': "<strong>Hello Django!</strong> on " +
now.strftime("%A, %d %B, %Y at %X")
}
)
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 = datetime.now()
return render(
request,
"HelloDjangoApp/index.html", # Relative path from the
'templates' folder to the template file
# "index.html", # Use this code for VS 2017 15.7 and earlier
{
'title' : "Hello Django",
'message' : "Hello Django!",
'content' : " on " + now.strftime("%A, %d %B, %Y at %X")
}
)
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 index.html 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/index.html. Em seguida, execute o projeto, verifique se a página é
renderizada corretamente e pare o servidor.
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.
templates do aplicativo.
Próximas etapas
Fornecer arquivos estáticos, adicionar páginas e usar a herança do modelo
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
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.
" 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)
Um projeto Django é configurado por padrão para fornecer arquivos estáticos da pasta
static do aplicativo, graças a estas linhas no arquivo settings.py do projeto Django:
Python
STATIC_URL = '/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 index.html:
css
.message {
font-weight: 600;
color: blue;
}
HTML
<html>
<head>
<title>{{ title }}</title>
{% load static %} <!-- Instruct Django to load static files -->
<link rel="stylesheet" type="text/css" href="{% static
'site.css' %}" />
</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).
HTML
<html>
<head>
<title>{{ title }}</title>
<link rel="stylesheet" type="text/css" href="../../static/site.css"
/>
</head>
<body>
<span class="message">{{ message }}</span>{{ content }}
</body>
</html>
Dica
HTML
<html>
<head>
<title>{{ title }}</title>
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static
'site.css' %}" />
</head>
<body>
<div><a href="home">Home</a></div>
{{ content }}
</body>
</html>
3. Abra o arquivo views.py do aplicativo e adicione uma função chamada about que
usa o modelo:
Python
def about(request):
return render(
request,
"HelloDjangoApp/about.html",
{
'title' : "About HelloDjangoApp",
'content' : "Example app page for Django."
}
)
Python
HTML
<div><a href="about">About</a></div>
cria a URL adequada para você. Por exemplo, substitua <div><a href="home">Home</a>
</div> em about.html por <div><a href="{% url 'index' %}">Home</a></div> . O uso de
'index' funciona aqui porque o primeiro padrão de URL em urls.py é, na verdade,
chamado de 'index' (em virtude do argumento name='index' ). Você também pode usar
"home" para se referir ao segundo padrão.
2. Substitua o conteúdo do arquivo layout.html 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 'site.css'
%}" />
</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>
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;
}
HTML
{% extends "HelloDjangoApp/layout.html" %}
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 %}
HTML
{% extends "HelloDjangoApp/layout.html" %}
HTML
{% block content %}
{{ content }}
{% endblock %}
Próximas etapas
Usar o modelo Projeto Web Django completo
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
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".
" 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)
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.
Python
def about(request):
"""Renders the about page."""
assert isinstance(request, HttpRequest)
return render(
request,
'app/about.html',
{
'title':'About',
'message':'Your application description page.',
'year':datetime.now().year,
}
)
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static
'app/content/bootstrap.min.css' %}" />
<link rel="stylesheet" type="text/css" href="{% static
'app/content/site.css' %}" />
<script src="{% static 'app/scripts/modernizr-2.6.2.js' %}"></script>
</head>
<body>
<!-- Navbar omitted -->
</body>
</html>
HTML
{% extends "app/layout.html" %}
{% block content %}
{% endblock %}
Na pasta templates/app, também se encontra uma quarta página login.html, junto com
loginpartial.html, que é inserida em layout.html com {% include %} . Esses arquivos de
modelo são discutidos na etapa 5 na autenticação.
Python
urlpatterns = [
path('', views.home, name='home'),
path('contact/', views.contact, name='contact'),
path('about/', views.about, name='about'),
path('login/',
LoginView.as_view
(
template_name='app/login.html',
authentication_form=forms.BootstrapAuthenticationForm,
extra_context=
{
'title': 'Log in',
'year' : datetime.now().year,
}
),
name='login'),
path('logout/', LogoutView.as_view(next_page='/'), name='logout'),
path('admin/', admin.site.urls),
]
Os três primeiros padrões de URL são mapeados diretamente para as exibições home ,
contact e about no arquivo views.py 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.
Próximas etapas
Autenticar usuários no Django
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
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 {{ user.username }}!
</span></li>
<li><a
href="javascript:document.getElementById('logoutForm').submit()">Log
off</a></li>
</ul>
</form>
{% else %}
{% 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 urls.py e exibido na seção anterior, essa
rota é mapeada para o modo de exibição django.contrib.auth.views.login que
recebe os seguintes dados:
Python
{
'template_name': 'app/login.html',
'authentication_form': app.forms.BootstrapAuthenticationForm,
'extra_context':
{
'title': 'Log in',
'year': datetime.now().year,
}
}
class BootstrapAuthenticationForm(AuthenticationForm):
"""Authentication form which uses boostrap CSS."""
username = forms.CharField(max_length=254,
widget=forms.TextInput({
'class': 'form-control',
'placeholder': 'User name'}))
password = forms.CharField(label=_("Password"),
widget=forms.PasswordInput({
'class': 'form-control',
'placeholder':'Password'}))
HTML
{% extends "app/layout.html" %}
{% block content %}
{% 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 form.errors 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 ( / ).
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.
Python
urlpatterns = [
path('admin/doc/', include('django.contrib.admindocs.urls'))
]
11. A parte final do fluxo de autenticação é fazer logoff. Como você pode ver em
loginpartial.html, o link Fazer logoff apenas faz um POST para a URL relativa
"/login", que é manipulada pela exibição interna
django.contrib.auth.views.logout . Essa exibição não exibe nenhuma interface do
usuário e apenas navega para a home page (conforme mostrado em urls.py 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/',
django.contrib.auth.views.logout,
{
'template_name': 'app/loggedoff.html',
# 'next_page': '/',
},
name='logout')
HTML
{% extends "app/layout.html" %}
{% block content %}
<h3>You have been logged off</h3>
{% endblock %}
12. Quando terminar, interrompa o servidor e, mais uma vez, confirme suas alterações
no controle do código-fonte.
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 .
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.
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.
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.
Dica
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.
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.
Para excluir o ambiente virtual, clique com o botão direito do mouse na pasta env
e selecione Ignorar estes itens locais.
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.
3. O único arquivo app.py 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
# Make the WSGI interface available at the top level so wfastcgi can
get it.
wsgi_app = app.wsgi_app
Python
if __name__ == '__main__':
import os
HOST = os.environ.get('SERVER_HOST', 'localhost')
try:
PORT = int(os.environ.get('SERVER_PORT', '5555'))
except ValueError:
PORT = 5555
app.run(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 @app.route 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
@app.route('/')
def hello():
"""Renders a sample page."""
return "Hello World!"
Python
@app.route('/')
@app.route('/hello')
def hello():
"""Renders a sample page."""
return "Hello World!"
Python
# URL: /hello/<name>?message=Have%20a%20nice%20day
@app.route('/hello/<name>')
def hello(name):
msg = request.args.get('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.
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
http://localhost:<port> , em que você verá a mensagem renderizada pela função
hello :
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.
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
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.
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.)
Python
import HelloFlask.views
3. Na pasta HelloFlask, crie um arquivo chamado views.py com o conteúdo a seguir.
O nome views.py é importante, porque você usou import HelloFlask.views dentro
de __init__.py; você verá um erro em tempo de execução se os nomes não
corresponderem.
Python
@app.route('/')
@app.route('/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 app.py e importa o objeto app declarado em __init__.py.
4. Crie uma subpasta em HelloFlask chamada templates, que permanecerá vazia por
enquanto.
Python
import os
from HelloFlask import app # Imports the code from
HelloFlask/__init__.py
if __name__ == '__main__':
HOST = os.environ.get('SERVER_HOST', 'localhost')
try:
PORT = int(os.environ.get('SERVER_PORT', '5555'))
except ValueError:
PORT = 5555
app.run(HOST, PORT)
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 views.py para que ela contenha o seguinte código que usa
HTML embutido para a página com algum conteúdo dinâmico:
Python
@app.route('/')
@app.route('/home')
def home():
now = datetime.now()
formatted_now = now.strftime("%A, %d %B, %Y at %X")
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.
HTML
<html>
<head>
<title>Hello Flask</title>
</head>
<body>
{{ content }}
</body>
</html>
Python
def home():
now = datetime.now()
formatted_now = now.strftime("%A, %d %B, %Y at %X")
return render_template(
"index.html",
content = "<strong>Hello, Flask!</strong> on " + formatted_now)
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 = datetime.now()
formatted_now = now.strftime("%A, %d %B, %Y at %X")
return render_template(
"index.html",
title = "Hello Flask",
message = "Hello, Flask!",
content = " on " + formatted_now)
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
Próximas etapas
Fornecer arquivos estáticos, adicionar páginas e usar a herança do modelo
Aplica-se a: Visual Studio Visual Studio para Mac Visual Studio Code
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.
" 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)
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.
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.
css
.message {
font-weight: 600;
color: blue;
}
4. Substitua o conteúdo do arquivo templates/index.html 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/site.css"
/>
</head>
<body>
<span class="message">{{ message }}</span>{{ content }}
</body>
</html>
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 data.json 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 views.py, 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
@app.route('/api/data')
def get_data():
return app.send_static_file('data.json')
As etapas a seguir adicionam uma página "Sobre" ao projeto "HelloFlask" e links para
essa página na home page:
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.
HTML
<html>
<head>
<title>{{ title }}</title>
<link rel="stylesheet" type="text/css" href="/static/site.css"
/>
</head>
<body>
<div><a href="home">Home</a></div>
{{ content }}
</body>
</html>
3. Abra o arquivo views.py do aplicativo e adicione uma função chamada about que
usa o modelo:
Python
@app.route('/about')
def about():
return render_template(
"about.html",
title = "About HelloFlask",
content = "Example app page for Flask.")
HTML
<div><a href="about">About</a></div>
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.
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>{{ title }}</title>
<link rel="stylesheet" type="text/css" href="/static/site.css" />
</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>
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;
}
HTML
{% extends "layout.html" %}
{% block content %}
<span class="message">{{ message }}</span>{{ content }}
{% endblock %}
HTML
{% extends "layout.html" %}
{% block content %}
{{ content }}
{% endblock %}
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) (jinja.pocoo.org)
Para obter detalhes sobre o uso de url_for , confira url_for na documentação do
objeto do Aplicativo Flask (flask.pocoo.org)
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.
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.
À 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.
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.
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:
ノ 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.
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
) 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.
7 Observação
7. Selecione Concluir.
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:
XML
<Compile Include="..\test2.py">
<Link>MyProject\test2.py</Link>
</Compile>
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.
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:
Você também pode ter que adicionar um caminho de pesquisa à pasta que contém o
módulo.
Como as referências no IronPython não estão disponíveis até depois de uma chamada
ao método clr.AddReference('<AssemblyName>') , você também precisa adicionar uma
chamada de método clr.AddReference 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
clr.AddReference('System.Drawing')
clr.AddReference('System.Windows.Forms')
) 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
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.
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 (python.org) 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 requirements.txt.
ノ Expandir a tabela
Modelo Descrição
Projeto Web Gera um aplicativo mínimo no arquivo app.py 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 app.py. O roteamento para as
Bottle páginas individuais está contido no arquivo routes.py . A pasta views contém os
modelos de página.
Projeto Gera um aplicativo cujos arquivos estáticos estão contidos na pasta static. O
Web do código no arquivo views.py manipula o roteamento, com modelos de página que
Flask usam o mecanismo Jinja contido na pasta templates. O arquivo runserver.py
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
requirements.txt. 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.
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.
7 Observação
Grupo Run:
Número da Porta: 6543 (ou o que estiver configurado nos arquivos .ini)
Dica
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
Recursos do IntelliSense
O Visual Studio fornece suporte completo do IntelliSense para projetos do Django,
incluindo os seguintes recursos:
Django Sync DB: executa o comando manage.py syncdb em uma Janela Interativa:
) Importante
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
Para obter detalhes de como criar e usar ambientes virtuais para projetos Python,
confira Usar ambientes virtuais.
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
PythonSettings.json 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:
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
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.
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.
Ambientes virtuais
Ambientes do Conda
ノ Expandir a tabela
Campo Descrição
Definir como Depois que o ambiente for criado, ativa o novo ambiente no projeto
ambiente atual selecionado.
padrão para usar Tornar este o ambiente padrão para novos projetos na janela
novos projetos Ambientes do Python.
) Importante
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.
6. Para instalar mais pacotes no ambiente, utilize a guia Pacotes na janela Ambientes
do Python .
7 Observação
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
Saída
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.
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.
ノ 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
ノ Expandir a tabela
Distribuição Nó
Conteúdo relacionado
Instalar interpretadores do Python
Selecionar um interpretador para um projeto
Use requirements.txt 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
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.
7 Observação
Se o ambiente que você quiser utilizar não estiver listado, poderá ser necessário
identificar manualmente um ambiente existente.
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 requirements.txt,
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 requirements.txt.
ノ Expandir a tabela
Campo Descrição
obrigatório
ノ Expandir a tabela
Definir como Depois que o ambiente for criado, ative o novo ambiente no projeto
ambiente atual selecionado.
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:
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.
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 vcvarsall.bat. 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
https://python.en.uptodown.com/windows/versions . 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 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 requirements.txt 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 requirements.txt
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.
arquivo requirements.txt .
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.
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.
arquivo.
O Visual Studio executa o pip a fim de detectar os requisitos atuais de pacotes para o
ambiente, depois atualiza o arquivo requirements.txt com base na sua seleção.
Use as opções de comando do PIP para fazer referência a uma versão instalável
do pacote.
Console
Saída
Downloading/unpacking azure
Running setup.py (path:C:\Project\env\build\azure\setup.py)
egg_info for package azure
Console
type requirements.txt
--find-links wheelhouse
--no-index
azure==0.8.0
Console
Saída
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
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:
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.
2. Na caixa de diálogo, acesse o local da pasta que deseja adicionar aos caminhos de
pesquisa reconhecidos.
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
Conteúdo relacionado
Gerenciar ambientes do Python no Visual Studio
Selecionar um interpretador para um projeto
Use requirements.txt 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
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 python.org.
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
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.
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
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)
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>:
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\png.py': permissão negada.
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.
Confira também
Gerenciar ambientes do Python no Visual Studio
Selecionar um interpretador para um projeto
Usar requirements.txt para dependências
Caminhos de pesquisa
Configurar aplicativos Web do Python
para o IIS
Artigo • 18/04/2024
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 python.exe . 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 requirements.txt .
XML
Para usar o FastCGI, primeiro instale e configure o pacote wfastcgi, conforme descrito
em pypi.org/project/wfastcgi/ .
XML
<system.webServer>
<handlers>
<add name="PythonHandler" path="*" verb="*"
modules="FastCgiModule"
scriptProcessor="c:\python36-32\python.exe|c:\python36-
32\wfastcgi.py"
resourceType="Unspecified" requireAccess="Script"/>
</handlers>
</system.webServer>
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\wfastcgi.log"/>
</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.
XML
XML
<!-- Flask apps only: Change the project name to match your app --
>
<add key="WSGI_HANDLER" value="FlaskAzurePublishExample.app"/>
XML
projeto:
XML
<add key="DJANGO_SETTINGS_MODULE"
value="django_iis_example.settings" />
Python
Se você não adicionar o URL aos resultados da matriz, verá o seguinte erro:
Saída
serão permitidos automaticamente. Por esse motivo, convém manter cópias do arquivo
settings.py de desenvolvimento e de produção separadas ou usar variáveis de
Comentários
Esta página foi útil? Yes No
Editar o código Python e usar o
Intellisense
Artigo • 18/04/2024
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.
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.
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”.
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:
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 ) (python.org) 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 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
commas_to_colons(1)
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
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.
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:
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:
Para criar seus próprios snippets de código, confira Passo a passo: Criar um snippet de
código.
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
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.
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.
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
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
Python
Python
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
O Visual Studio fornece vários comandos para ajudar a transformar e limpar código-
fonte Python automaticamente:
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.
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 .
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.
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
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.
O comando solicita que você instale o linter escolhido no ambiente ativo, caso
ainda não esteja presente.
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
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
5. Você pode definir diversas configurações no arquivo. Esse exemplo mostra como
desativar um aviso.
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
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 .
1. Abra o projeto em Python no Visual Studio. (Ao abrir um projeto no Visual Studio,
o projeto é carregado por padrão.)
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:
Python
print("Hello custom commands")
XML
<PropertyGroup>
<PythonCommands>
$(PythonCommands);
</PythonCommands>
</PropertyGroup>
XML
XML
<PythonCommands>
$(PythonCommands);
Example_RunStartupFile
</PythonCommands>
Dica
7 Observação
XML
<CreatePythonCommandItem
...
ExecuteIn="output">
...
</CreatePythonCommandItem>
16. Para adicionar mais comandos personalizados, siga este mesmo processo:
Propriedades do MSBuild.
XML
<!-- 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
ノ Expandir a tabela
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 python.exe .
- Quando o valor de atributo TargetType é code , o valor
Arguments é ignorado.
relatado.
(?<column>...) : número da coluna da localização no arquivo para a qual o erro é
relatado.
Saída
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
7 Observação
XML
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PythonCommands>
$(PythonCommands);
<!-- Additional command names -->
</PythonCommands>
</PropertyGroup>
de projeto.
XML
<Import Project="targets/CustomCommands.targets"/>
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.
XML
<PropertyGroup>
<PythonCommands>$(PythonCommands);PythonRunPyLintCommand</PythonCommands>
<PyLintWarningRegex>
<![CDATA[^(?<filename>.+?)\((?<line>\d+),(?<column>\d+)\): warning (?
<msg_id>.+?): (?<message>.+?)$]]>
</PyLintWarningRegex>
</PropertyGroup>
<Target Name="PythonRunPyLintCommand"
Label="resource:Microsoft.PythonTools.Common;Microsoft.PythonTools.Common.St
rings;RunPyLintLabel"
Returns="@(Commands)">
<CreatePythonCommandItem Target="pylint.lint"
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>
XML
<PropertyGroup>
<PythonCommands>$(PythonCommands);InstallMyPackage</PythonCommands>
</PropertyGroup>
XML
<PropertyGroup>
<PythonCommands>$(PythonCommands);ShowOutdatedPackages</PythonCommands>
</PropertyGroup>
XML
<PropertyGroup>
<PythonCommands>$(PythonCommands);ShowAllPythonFilesInProject</PythonCommand
s>
</PropertyGroup>
XML
<PropertyGroup>
<PythonCommands>PipInstallDevCommand;$(PythonCommands);</PythonCommands>
</PropertyGroup>
XML
<PropertyGroup>
<PythonCommands>$(PythonCommands);BdistWinInstCommand;</PythonCommands>
</PropertyGroup>
XML
<PropertyGroup>
<PythonCommands>$(PythonCommands);BdistWheelCommand;</PythonCommands>
</PropertyGroup>
<CreatePythonCommandItem Target="$(ProjectDir)setup.py"
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>
XML
<PropertyGroup>
<PythonCommands>$(PythonCommands);Example</PythonCommands>
</PropertyGroup>
<Target Name="ExampleCommand" Label="Example Command"
Returns="@(Commands)">
<!-- ... -->
</Target>
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 manage.py por padrão (se um arquivo de
inicialização do servidor não for especificado nas propriedades do projeto).
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 python.exe 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.
ノ Expandir a tabela
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)
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 .
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.
As opções são descritas em detalhes em Python Interactive Window options for Visual
Studio.
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.
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
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
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 .
7 Observação
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] .
Python
x = np.linspace(0, 5, 10)
y = x ** 2
plt.plot(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:
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
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()
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
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.
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.
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.
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.
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.
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.
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.
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 obter mais informações sobre como usar a janela Automáticos, consulte
Inspecionar variáveis nas janelas Automáticos e Locais.
Para obter mais informações sobre como usar a janela Locais, consulte Inspecionar
variáveis nas janelas Automáticos e Locais.
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.
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 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.
ノ 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 python.exe 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 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.
ノ Expandir a tabela
Propriedade Descrição
ノ Expandir a tabela
Comando Descrição
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
Quando o Visual Studio informa esse erro de ambiente, você deve usar o depurador
herdado.
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.
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.
7 Observação
Console
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
DebugAdapterHost.Logging /On
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 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.
A porta 5678 (entrada) abre no firewall desse computador remoto, que é o padrão
para a depuração remota.
Para ver em detalhes como criar uma regra de firewall para uma máquina virtual do
Azure, consulte estes artigos:
Python
import random
guesses_made = 0
name = input('Hello! What is your name?\n')
number = random.randint(1, 20)
print('Well, {0}, I am thinking of a number between 1 and
20.'.format(name))
Python
import debugpy
debugpy.listen(('0.0.0.0', 5678))
Python
python3 guessing-game.py
Dica
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.
Se outro programa for iniciado no computador remoto após a lista ser populada,
selecione o botão Atualizar.
Para usar outra porta, especifique o número da porta na chamada para a função
listen , como em debugpy.listen((host, port)) . Nesse caso, certifique-se de abrir
ノ Expandir a tabela
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 .
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
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.
Embora você possa permitir que qualquer pessoa se conecte usando o comando
enable_attach(secret=None) , essa opção não é recomendada.
código Python.
<ip_address> é o endereço IP do computador remoto; ele pode ser um
Use estes passos para configurar o ptvsd 3.x para funcionar com o protocolo TCPS:
Console
openssl req -new -x509 -days 365 -nodes -out cert.cer -keyout cert.key
Python
ptvsd.enable_attach(secret='my_secret', certfile='cert.cer',
keyfile='cert.key')
3. Reinicie o programa de Python no computador remoto para que fique pronto para
depuração.
Para este caso, defina tcps:// como o protocolo para o Destino da conexão (ou
Qualificador).
U Cuidado
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:
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.
7 Observação
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
Python
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
for d in result:
assert -1 <= d <= 1, " incorrect values"
if __name__ == "__main__":
print('Running benchmarks with COUNT = {}'.format(COUNT))
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.
Dica
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.
Dica
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.
) Importante
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.
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.
ノ Expandir a tabela
Verificações Padrão
básicas de
runtime
) Importante
C++
#include <Windows.h>
#include <cmath>
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);
}
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.
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++
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.
C++
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.
Essa ação imprime uma lista de caminhos PyBind11 que você deve adicionar às
propriedades do projeto.
Repita estes passos para cada caminho na lista concatenada copiada da janela
PowerShell do desenvolvedor:
O Visual Studio adiciona uma linha vazia na parte superior da lista de caminhos
e posiciona o cursor no início.
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
C++
#include <pybind11/pybind11.h>
C++
namespace py = pybind11;
PYBIND11_MODULE(superfastcode2, m) {
m.def("fast_tanh2", &tanh_impl, R"pbdoc(
Compute a hyperbolic tangent of a single argument expressed in
radians.
)pbdoc");
#ifdef VERSION_INFO
m.attr("__version__") = VERSION_INFO;
#else
m.attr("__version__") = "dev";
#endif
}
Esse erro indica que o compilador não consegue localizar um arquivo de cabeçalho (.h)
necessário para seu projeto.
O Visual Studio retorna um erro indicando que o compilador não pode localizar os
arquivos de biblioteca (DLL) necessários para seu projeto.
Se o projeto Python e o projeto C++ estiverem na mesma solução, você poderá usar
esta abordagem:
Lembre-se de executar essa ação para seu projeto Python e não para seu projeto
C++.
Execute estes passos para instalar o módulo de extensão C++ em seu ambiente Python:
Python
setup(
name='superfastcode',
version='1.0',
description='Python Package with superfastcode C++ extension',
ext_modules=[sfc_module]
)
Python
sfc_module = Extension(
'superfastcode2',
sources=['module.cpp'],
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 pyproject.toml 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.
Python
7 Observação
4. Tente aumentar a variável COUNT para que as diferenças de tempo sejam mais
evidentes.
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.
Dica
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.
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
HPy 2019
mypyc 2017
Boost.Python 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
Neste artigo, você explora como trabalhar com estes recursos de depuração de modo
misto:
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.
Dica
b. Para o campo Anexar a, use a opção Selecionar para abrir a caixa de diálogo
Selecionar tipo de código.
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.
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 python.exe 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\python.exe -m venv venv --symlinks . No comando, coloque sua
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.
1. Ir para https://www.python.org/downloads/source/ .
7 Observação
b. Para o campo Anexar a, use a opção Selecionar para abrir a caixa de diálogo
Selecionar tipo de código.
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:
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.
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.
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:
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.
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++.
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.
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.
Python
foo.bar[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
(foo.bar[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.
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.
Console
python.exe
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.
) Importante
7 Observação
3. Insira o caminho da pasta em que você extraiu os símbolos baixados. Esse local é
onde fica o arquivo python.pdb , 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 python.org/downloads/ , você pode apontar o Visual Studio para os
arquivos baixados.
ノ Expandir a tabela
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
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.
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 .
5. Selecione Iniciar.
Para projetos em IronPython, é possível usar o criador de perfil do Visual Studio .NET.
Realize a execução do comando ipy.exe , 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.
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.
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 .
Siga estas etapas para realizar a seleção da estrutura de teste para o projeto em Python:
7 Observação
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:
JSON
{
"TestFramework": "unittest",
"UnitTestRootDirectory": "testing",
"UnitTestPattern": "test_*.py"
}
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 PythonSettings.json:
JSON
"SearchPaths": [".\\src"]
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.
Para visualizar como o Visual Studio inicia a detecção de testes, siga estas etapas:
c. Selecione Adicionar.
Python
import unittest
class Test_test1(unittest.TestCase):
def test_A(self):
self.fail("Not implemented")
if __name__ == '__main__':
unittest.main()
Esse código importa o módulo padrão unittest e deriva uma classe de teste do
método unittest.TestCase . Ao executar o script diretamente, esse código também
invoca a função unittest.main() .
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.
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:
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.
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
Pré-requisitos
Visual Studio. Para instalar o produto, siga as etapas em Instalar o Visual Studio.
Procurar modelos
Você pode procurar modelos no Cookiecutter Explorer para ver o que já está instalado
e o que está disponível.
A home page exibe uma lista de modelos a serem escolhidos, organizados em
quatro possíveis grupos:
ノ Expandir a tabela
Clonar modelos
Você pode trabalhar com modelos disponíveis no Cookiecutter Explorer para fazer
cópias locais para trabalhar.
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.
ノ Expandir a tabela
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
) Importante
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.
1. No campo Criar para, insira o local do caminho da pasta para todos os arquivos
gerados pelo Cookiecutter.
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.
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.
ノ Expandir a tabela
Opção Descrição
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
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.
ノ 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.
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.
- 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.
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>.azurewebsites.net (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": "https://azure.microsoft.com"
}
}
}
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
cookiecutter.json. 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
cookiecutter.json:
JSON
"_visual_studio_post_cmds": [
{
"name": "File.OpenFile",
"args": "{{cookiecutter._output_folder_path}}\\readme.txt"
},
{
"name": "Cookiecutter.ExternalWebBrowser",
"args": "https://learn.microsoft.com"
},
{
"name": "Python.InstallProjectRequirements",
"args": "{{cookiecutter._output_folder_path}}\\dev-requirements.txt"
}
]
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": "View.WebBrowser"
}
]
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": "File.OpenFile",
"args": [
"{{cookiecutter._output_folder_path}}\\read me.txt",
"/e:",
"Source Code (text) Editor"
]
}
]
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
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.
Classe Python Um arquivo .py que contém uma única definição de classe vazia do
Python.
Teste de Unidade do Um arquivo .py com um único teste de unidade baseado na estrutura
Python unittest , juntamente com uma chamada a unittest.main() 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> .
Folha de Estilos Um arquivo .css que contém um estilo vazio para body .
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 admin.py e o arquivo apps.py não
estão incluídos.
web.config do Azure Um arquivo web.config 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.
web.config do Azure Um arquivo web.config 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 web.config normalmente adicionado a uma pasta static (ou
web.config 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
web.config 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
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 .
ノ Expandir a tabela
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, 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.
ノ Expandir a tabela
Opções de depuração
As seguintes opções estão disponíveis em Ferramentas>Opções>Python>Depuração:
ノ Expandir a tabela
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
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
ノ Expandir a tabela
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.
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.
ノ Expandir a tabela
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.
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.
ノ Expandir a tabela
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