Perguntas frequentes sobre como usar o Python no WindowsFrequently Asked Questions about using Python on Windows

Problemas ao instalar um pacote usando a instalação PIPTrouble installing a package with pip install

Uma falha poderá ocorrer na instalação por vários motivos. Em muitos casos, a solução mais adequada será entrar em contato com o desenvolvedor do pacote.There are a number of reasons why an installation will fail--in many cases the right solution is to contact the package developer.

Uma causa comum de problemas é tentar executar a instalação em um local em que você não tem a permissão necessária para fazer modificações.A common cause for trouble is trying to install into a location that you do not have permission to modify. Por exemplo, o local de instalação padrão pode exigir privilégios de administrador, mas, por padrão, o Python não tem esses privilégios.For example, the default install location might require Administrative privileges, but by default Python will not have them. A solução mais adequada é criar um ambiente virtual, depois executar a instalação nele.The best solution is to create a virtual environment and install there.

Alguns pacotes incluem código nativo que exige um compilador C ou C++ para instalação.Some packages include native code that requires a C or C++ compiler to install. Em geral, os desenvolvedores de pacotes costumam publicar versões pré-compiladas. Porém, algumas vezes eles não o fazem.In general, package developers should publish pre-compiled versions, but often do not. Alguns desses pacotes poderão funcionar se você instalar Ferramentas de Build para o Visual Studio e selecionar a opção C++. No entanto, na maioria dos casos, será necessário entrar em contato com o desenvolvedor do pacote.Some of these packages might work if you install Build Tools for Visual Studio and select the C++ option, however in most cases you will need to contact the package developer.

Siga as discussões no StackOverflowFollow the discussion on StackOverflow

Problemas ao instalar o PIP usando o WSLTrouble installing pip with WSL

Ao instalar um pacote (como o Flask) usando o PIP no WSL ou no WSL2 (Subsistema do Windows para Linux), por exemplo python3 -m pip install flask, será possível encontrar, de modo específico, um erro como este:When installing a package (like Flask) with pip on Windows Subsystem for Linux (WSL or WSL2), for example python3 -m pip install flask, you may specifically encounter an error like this:

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))
after connection broken by 'NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection
object at 0x7f655471da30>: Failed to establish a new connection: [Errno -3]
Temporary failure in name resolution')': /simple/flask/

Ao pesquisar sobre esse problema, talvez você encontre informações inadequadas, além de pouco produtivas para a distribuição de WSL do Linux.When researching this problem you may be led down several rabbit holes, none of which are particularly productive with a WSL linux distribution. (Aviso: não tente editar o resolv.conf no WSL, pois esse arquivo é um link simbólico e modificá-lo poderá gerar vários problemas).(Warning: on WSL do not try editing resolv.conf, that file is a symbolic link and modifying it is a can of worms). A menos que você esteja executando um firewall do aftermarket, a solução mais provável é simplesmente reinstalar o PIP:Unless you are running an aftermarket firewall, the likely solution is to simply re-install pip:

sudo apt -y purge python3-pip
sudo python3 -m pip uninstall pip
sudo apt -y install python3-pip --fix-missing

*Mais discussões estão disponíveis no repositório do produto WSL do GitHub. Agradecemos à nossa comunidade de usuários por contribuir para solucionar esse problema de documentação.*Further discussion in the WSL product repo on GitHub. Thanks to our user community for contributing this issue to the docs.

O que é py.exe?What is py.exe?

Você pode acabar com várias versões do Python instaladas em seu computador, já que está trabalhando em diferentes tipos de projetos do Python.You may end up with multiple versions of Python installed on your machine because you are working on different types of Python projects. Como todas usam o comando python, talvez não seja tão óbvio qual versão do Python você está usando.Because these all use the python command, it may not be obvious which version of Python you are using. Como padrão, é recomendável usar o comando python3 (ou python3.7 para selecionar uma versão específica).As a standard, it is recommended to use the python3 command (or python3.7 to select a specific version).

O inicializador py.exe selecionará automaticamente a versão mais recente do Python que você instalou.The py.exe launcher will automatically select the most recent version of Python you've installed. Você também pode usar comandos como py -3.7 para selecionar uma versão específica ou py --list para ver quais versões podem ser usadas.You can also use commands like py -3.7 to select a particular version, or py --list to see which versions can be used. NO ENTANTO, o inicializador py.exe só funcionará se você estiver usando uma versão do Python instalada de python.org. Quando você instala o Python da Microsoft Store, o comando pynão está incluído.HOWEVER, the py.exe launcher will only work if you are using a version of Python installed from python.org. When you install Python from the Microsoft Store, the py command is not included. Para Linux, macOS, WSL e a versão Microsoft Store do Python você deve usar o comando python3 (ou python3.7).For Linux, macOS, WSL and the Microsoft Store version of Python, you should use the python3 (or python3.7) command.

Por que executar o python.exe abre a Microsoft Store?Why does running python.exe open the Microsoft Store?

Para ajudar novos usuários a encontrar uma boa instalação do Python, adicionamos um atalho para o Windows que o levará diretamente para a versão mais recente do pacote da comunidade publicado no Microsoft Store.To help new users find a good installation of Python, we added a shortcut to Windows that will take you directly to the latest version of the community's package published in the Microsoft Store. Esse pacote pode ser instalado com facilidade – sem permissões de administrador – e substituirá os comandos padrão python e python3 pelos verdadeiros.This package can be installed easily, without administrator permissions, and will replace the default python and python3 commands with the real ones.

A execução do atalho executável com qualquer argumento de linha de comando retornará um código de erro para indicar que o Python não foi instalado.Running the shortcut executable with any command-line arguments will return an error code to indicate that Python was not installed. Isso é para impedir que arquivos em lotes e scripts abram o aplicativo do Microsoft Store quando provavelmente não foi pretendido.This is to prevent batch files and scripts from opening the Store app when it was probably not intended.

Se você instalar o Python usando os instaladores de python.org e selecionar a opção "adicionar ao CAMINHO", o novo comando python terá prioridade sobre o atalho.If you install Python using the installers from python.org and select the "add to PATH" option, the new python command will take priority over the shortcut. Observe que outros instaladores podem adicionar python a uma prioridade mais baixa do que o atalho interno.Note that other installers may add python at a lower priority than the built-in shortcut.

Você pode desabilitar os atalhos sem instalar o Python abrindo "Gerenciar aliases de execução de aplicativo", no menu Iniciar, localizando as entradas do Python do "Instalador de aplicativo" e alternando-as para "Desativado".You can disable the shortcuts without installing Python by opening "Manage app execution aliases" from Start, finding the "App Installer" Python entries and switching them to "Off".

Por que os caminhos de arquivo não funcionam no Python quando eu os copio e colo?Why don’t file paths work in Python when I copy-paste them?

As strings do python usam "escapes" para caracteres especiais.Python strings use “escapes” for special characters. Por exemplo, para inserir um caractere de nova linha em uma cadeia de caracteres, você deve digitar \n.For example, to insert a new line character into a string, you would type \n. Como os caminhos de arquivo no Windows usam barras invertidas, algumas partes podem estar sendo convertidas em caracteres especiais.Because file paths on Windows use backslashes, some parts might be being converted into special characters.

Para colar um caminho como uma cadeia de caracteres no Python, adicione o prefixo r.To paste a path as a string in Python, add the r prefix. Isso indica que se trata de uma cadeia de caracteres raw e nenhum caractere de escape será usado, exceto a " (talvez seja necessário remover a última barra invertida do caminho).This indicates that it is a raw string, and no escape characters will be used except for \” (you might need to remove the last backslash in your path). Portanto, seu caminho pode ter a seguinte aparência: r"C:\Users\MyName\Documents\Document.txt"So your path might look like: r"C:\Users\MyName\Documents\Document.txt"

Ao trabalhar com caminhos no Python, é recomendável usar o módulo pathlib padrão.When working with paths in Python, we recommend using the standard pathlib module. Isso permitirá que você converta a cadeia de caracteres em um objeto de caminho avançado, que pode fazer manipulações de caminho de forma consistente, independentemente de usar barras normais ou invertidas, fazendo com que o seu código funcione melhor em diferentes sistemas operacionais.This will let you convert the string to a rich Path object that can do path manipulations consistently whether it uses forward slashes or backslashes, making your code work better across different operating systems.

O que é o PYTHONPATH?What is PYTHONPATH?

A variável de ambiente PYTHONPATH é usada pelo Python para especificar uma lista de diretórios dos quais os módulos podem ser importados.The PYTHONPATH environment variable is used by Python to specify a list of directories that modules can be imported from. Durante a execução, você poderá inspecionar a variável sys.path para ver quais diretórios serão pesquisados quando você importar algo.When running, you can inspect the sys.path variable to see which directories will be searched when you import something.

Para definir essa variável no prompt de comando, use: set PYTHONPATH=list;of;paths.To set this variable from the Command Prompt, use: set PYTHONPATH=list;of;paths.

Para definir essa variável no PowerShell, use: $env:PYTHONPATH=’list;of;paths’ logo antes de inicializar o Python.To set this variable from PowerShell, use: $env:PYTHONPATH=’list;of;paths’ just before you launch Python.

Definir essa variável globalmente por meio das configurações de Variáveis de ambiente****não é recomendável, pois ela pode ser usada por qualquer versão do Python em vez daquela que você pretende usar.Setting this variable globally through the Environment Variables settings is not recommended, as it may be used by any version of Python instead of the one that you intend to use.

Onde posso encontrar ajuda com o empacotamento e a implantação?Where can I find help with packaging and deployment?

Docker: A extensão VSCode ajuda você a empacotar e implantar rapidamente com os modelos Dockerfile e docker-compose.yml (gerar os arquivos de Docker apropriados para o seu projeto).Docker: VSCode extension helps you quickly package and deploy with Dockerfile and docker-compose.yml templates (generate the proper Docker files for your project).

O AKS (Serviço de Kubernetes do Azure) permite implantar e gerenciar aplicativos em contêineres ao mesmo tempo em que dimensiona recursos sob demanda.Azure Kubernetes Service (AKS) enables you to deploy and manage containerized applications while scaling resources on demand.

E se eu precisar trabalhar em diferentes computadores?What if I need to work across different machines?

As Configurações de sincronização permitem que você sincronize suas configurações de VS Code em diferentes instalações usando o GitHub.Settings Sync allows you to synchronize your VS Code settings across different installations using GitHub. Se você trabalha em diferentes computadores, isso ajuda a manter seu ambiente consistente entre eles.If you work on different machines, this helps keep your environment consistent across them.

E se eu estiver acostumado a usar PyCharm, Atom, Sublime Text, Emacs ou Vim?What if I'm used to using PyCharm, Atom, Sublime Text, Emacs, or Vim?

A extensão VSCode keymaps pode ajudar seu ambiente a se sentir em casa.The VSCode extension Keymaps can help your environment feel right at home.

Qual é a correspondência entre as teclas de atalho do Mac e as teclas de atalho do Windows?How do Mac shortcut keys map to Windows shortcut keys?

Alguns botões do teclado e atalhos do sistema são um pouco diferentes entre um computador Windows e um Macintosh.Some of the keyboard buttons and system shortcuts are slightly different between a Windows machine and a Macintosh. Este Guia de transição do Mac para o Windows aborda os conceitos básicos.This Mac to Windows transition guide covers the basics.