Como adicionar ao PYTHONPATH no Windows, para encontrar meus módulos / pacotes?

369

Eu tenho um diretório que hospeda todos os meus aplicativos Django ( C:\My_Projects). Quero adicionar esse diretório ao meu PYTHONPATHpara poder ligar diretamente para os aplicativos.

Tentei adicionar C:\My_Projects\;à minha Pathvariável do Windows a partir da GUI do Windows ( My Computer > Properties > Advanced System Settings > Environment Variables). Mas ele ainda não lê o módulo coltrane e gera este erro:

Erro: nenhum módulo chamado coltrane

darren
fonte
para erro "no module named": stackoverflow.com/questions/23417941/…
JinSnow
11
Eu usei sitemódulo .
Zeinab Abbasimazar
se você deseja executar python no prompt de comando é respondido bem aqui eu espero que isso ajude stackoverflow.com/a/54618199/8253662
maheshmnj

Respostas:

411

Você sabe o que funcionou muito bem para mim no Windows.

My Computer > Properties > Advanced System Settings > Environment Variables >

Basta adicionar o caminho como C: \ Python27 (ou onde você instalou o python)

OU

Então, sob variáveis ​​do sistema, crio uma nova variável chamada PythonPath. Nesta variável eu tenhoC:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\other-folders-on-the-path

insira a descrição da imagem aqui

Essa é a melhor maneira que funcionou para mim e que não encontrei em nenhum dos documentos oferecidos.

EDIT: Para aqueles que não conseguem obtê-lo, adicione

C: \ Python27;

junto com isso. Senão, nunca funcionará .

darren
fonte
50
Você provavelmente deseja adicionar C:\Python27no seu caminho.
Wei Yang
5
@SteveKoch Não tenho certeza - você precisaria pedir ao mantenedor do projeto. Eu já não uso Path Editor como eu mudei para muito melhor rápida Editor do Meio Ambiente
Piotr Dobrogost
5
Também é importante adicionar C: \ Python27 \ Scripts ao caminho para que os scripts instalados possam ser executados no shell.
Tyler Brock
6
Por que você colocar C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tkem PYTHONPATH? Já estão configurados. Diretórios para scripts entram no sistema PATH. Os diretórios para bibliotecas (que não estão instalados site-packagesou por usuário site-packages) entram PYTHONPATH.
Eryk Sun
11
Eu tive que incluir% PYTHONPATH% no meu caminho também.
eightx2
124

Windows 7 Professional I Modifiquei a resposta do @ mongoose_za para facilitar a alteração da versão do python:

  1. [Clique com o botão direito do mouse] Computador> Propriedades> Configurações Avançadas do Sistema> Variáveis ​​de Ambiente
  2. Clique em [Novo] em "Variável do sistema"
  3. Nome da variável: PY_HOME, Valor da variável: C: \ path \ to \ python \ version insira a descrição da imagem aqui
  4. Clique OK]
  5. Localize a variável de sistema "Path" e clique em [Edit]
  6. Adicione o seguinte à variável existente:

    % PY_HOME%;% PY_HOME% \ Lib;% PY_HOME% \ DLLs;% PY_HOME% \ Lib \ lib-tk; insira a descrição da imagem aqui

  7. Clique em [OK] para fechar todas as janelas.

Como uma verificação de integridade final, abra um prompt de comando e insira python. Você deveria ver

>python [whatever version you are using]

Se você precisar alternar entre versões, precisará modificar a variável PY_HOME para apontar para o diretório apropriado. Isso é um pouco mais fácil de gerenciar se você precisar de várias versões python instaladas.

Delicia Brummitt
fonte
4
Tentei isso e funcionou ... eu recomendaria alguém passando pelo mesmo problema para tentar isso.
Christopher M.
2
Tentei isso, não fez nada.
GreySage
Eu tentei a resposta aceita acima e que não funcionou, então eu recomendaria esta.
Mjwrazor
2
@Reihan_amn Quero dizer, o diretório de agrupamento que contém a lib, bin, libexec, etc. Normalmente, esses diretórios são nomeados Python [VERSION_NUMBER] /, mas também vi python / [VERSION_NUMBER]. Espero que ajude #
Delicia Brummitt
5
Eu tentei isso e funcionou para mim. Eu tive que fazer um pequeno ajuste que era clicar em Novo para cada uma dessas entradas do Windows 10 ao adicioná-las à variável PATH. %PY_HOME%;%PY_HOME%\Lib;%PY_HOME%\DLLs;%PY_HOME%\Lib\lib-tk; Eu também precisava para adicionar %PY_HOME%\Scriptsentão eu tive acesso a semente e os módulos I instalar com pip como pylint
José Vargas
82

Na linha de comando do Windows:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

Para definir o PYTHONPATH permanentemente, adicione a linha ao seu autoexec.bat. Como alternativa, se você editar a variável do sistema por meio das Propriedades do sistema, ela também será alterada permanentemente.

Yuval Adam
fonte
11
Trabalhei, mas toda vez que abria um dos meus, eu precisava definir o caminho.
Darren
7
Eu prefiro usarset path=%PATH%;%PYTHONPATH%;
Mr Wednesday
5
Dos e edição autoexec.bat ..! De repente, voltamos aos anos 90?
drexiya
4
Antes disso, faça eco de% PYTHONPATH% se isso lhe fornecer um caminho, caso contrário, por exemplo, defina PYTHONPATH = .; C: \ My_python_lib Caso contrário, o Windows expandirá% PYTHONPATH% para esvaziar a string conforme o esperado. mantenha-o como% PYTHONPATH% no PYTHONPATH e tudo vai quebrar! Parece loucura, mas isso é como win7 cmd obras ...
NTG
69

Basta anexar o caminho da instalação (por exemplo, C: \ Python27 \ ) à variável PATH nas variáveis ​​do sistema . Em seguida, feche e abra sua linha de comando e digite 'python' .

Paulino III
fonte
37
Isso está respondendo a uma pergunta completamente diferente da que o OP estava fazendo.
Wpercy 17/09/2015
11
A questão não é sobre o PATHque o DOS usa para encontrar comandos, mas o caminho do Python, ou seja, sys.pathno Python. Na maioria dos sistemas operacionais, o Python apenas usa a variável de ambiente do sistema PYTHONPATH, mas o Windows parece ser 'especial'.
Michael Scheper
52

Essas soluções funcionam, mas funcionam apenas para o seu código na sua máquina. Eu adicionaria algumas linhas ao seu código que se parecem com isso:

import sys
if "C:\\My_Python_Lib" not in sys.path:
    sys.path.append("C:\\My_Python_Lib")

Isso deve cuidar dos seus problemas

inspectorG4dget
fonte
4
Modificar sys.pathdessa maneira é desaprovado e por boas razões. Existem maneiras melhores de configurar sys.path- PYTHONPATHvariável de ambiente e .ptharquivos.
Piotr Dobrogost
38

Adicionando Python e PythonPath ao ambiente Windows:

  1. Abra o Explorer.
  2. Clique com o botão direito do mouse em 'Computador' no painel da árvore de navegação à esquerda.
  3. Selecione 'Propriedades' na parte inferior do menu de contexto.
  4. Selecione 'Configurações avançadas do sistema'
  5. Clique em 'Variáveis ​​de ambiente ...' na guia Avançado
  6. Em 'Variáveis ​​do sistema' :

    1. Adicionar

      • PY_HOME

        C:\Python27
      • PYTHONPATH

        %PY_HOME%\Lib;%PY_HOME%\DLLs;%PY_HOME%\Lib\lib-tk;C:\another-library
    2. Acrescentar

      • path

        %PY_HOME%;%PY_HOME%\Scripts\
Mr. Polywhirl
fonte
3
Esta é a única solução que funcionou para mim. Além disso, para aqueles que não possuem direitos de administrador, siga as etapas acima em "Variáveis ​​de usuário para [seu nome de usuário]" e funcionará da mesma forma.
Fares KA
Python no Windows, apreciando o node.js um pouco mais agora
Eddie
19

A maneira mais fácil de definir o caminho no python é: clique em Iniciar> Meu Computador> Propriedades> Configurações Avançadas do Sistema> Variáveis ​​de Ambiente> Segunda Janela>

insira a descrição da imagem aqui

selecione Caminho> Editar> e adicione "; C: \ Python27 \; C: \ Python27 \ Scripts \"

link: http://docs.python-guide.org/en/latest/starting/install/win/

Bamara Coulibaly
fonte
alterar o caminho do sistema não mudou nada (excluí-lo também). Mas digitar administrador cmd trabalhou: ftype Python.File = "C: \ python27 \ python.exe" "% 1" % *
JinSnow
13

Você também pode adicionar um .ptharquivo contendo o diretório desejado na sua c:\PythonX.Xpasta ou na sua \site-packages folder, que tende a ser o meu método preferido quando estou desenvolvendo um pacote Python.

Veja aqui para mais informações.

brentlance
fonte
9
import sys
sys.path.append("path/to/Modules")
print sys.path

Isso não persistirá durante as reinicializações ou será traduzido para outros arquivos. No entanto, é ótimo se você não quiser fazer uma modificação permanente no seu sistema.

Gajendra D Ambi
fonte
11
+1 para a capacidade de definir caminhos é o tempo de execução. embora indiscutivelmente "hacky", ao escrever uma prova de conceito ou um trabalho único, isso é perfeito e deixa o sistema inalterado.
Joshua Burns
Eu discordo que você só precisa fazer isso uma vez. Acho que o caminho extra não persistir após o reinício kernal
StackG
8

A maneira mais fácil de fazer isso com êxito é executar o instalador python novamente (após a primeira instalação) e, em seguida:

  1. escolha Modificar.
  2. marque os recursos opcionais desejados e clique em Avançar.
  3. aqui vamos nós, na etapa "Opções avançadas", você deve ver uma opção dizendo "Adicionar Python às variáveis ​​de ambiente". Marque essa opção e clique em Instalar. 3º passo Quando a instalação é concluída, variáveis ​​de ambiente python são adicionadas e você pode facilmente usar python em qualquer lugar.
Hamidreza
fonte
6

No Python 3.4 no Windows, funcionou quando o adicionei à variável de ambiente PATH, em vez de PYTHONPATH. Como se você instalou o Python 3.4 em D: \ Programming \ Python34, adicione-o no final da sua variável de ambiente PATH

;D:\Programming\Python34

Feche e reabra o prompt de comando e execute 'python'. Ele abrirá o shell python. Isso também corrigiu meu problema no Sublime 3 de 'python não é reconhecido como um comando interno ou externo' .

Octano
fonte
Sim, essa foi a única solução para mim (Python 3.x). Eu realmente não tenho idéia por que% PYTHONPATH% não é resolvido no parâmetro Path. Chamar a pasta dos scripts não era necessário.
Davidson Lima
6

Os caminhos do python 2.X podem ser configurados a partir de algumas das instruções acima. Por padrão, o Python 3 será instalado em C: \ Usuários \\ AppData \ Local \ Programas \ Python \ Python35-32 \ Portanto, esse caminho deve ser adicionado à variável Path no ambiente do Windows.

Pavan Ebbadi
fonte
5

Para aumentar o PYTHONPATH, execute regedit e navegue até KEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore e, em seguida, selecione a pasta para a versão do python que você deseja usar. Dentro dela, há uma pasta chamada PythonPath, com uma entrada que especifica os caminhos nos quais a instalação padrão armazena os módulos. Clique com o botão direito do mouse em PythonPath e escolha criar uma nova chave. Você pode nomear a chave após o projeto cujos locais de módulo serão especificados; Dessa forma, você pode facilmente compartimentar e rastrear as modificações do caminho.

obrigado

Brajendu Kumar Das
fonte
4

A variável de ambiente PYTHONPATH é usada pelo Python para especificar uma lista de diretórios dos quais os módulos podem ser importados no Windows. Ao executar, você pode inspecionar a sys.pathvariável para ver quais diretórios serão pesquisados ​​ao importar algo.

Para definir essa variável a partir do Command Prompt, use: set PYTHONPATH=list;of;paths.

Para definir essa variável no PowerShell, use: $env:PYTHONPATH=’list;of;paths’imediatamente antes de iniciar o Python.

A configuração global dessa variável por meio das configurações de Variáveis ​​de ambiente não é recomendada, pois pode ser usada por qualquer versão do Python em vez da que você pretende usar. Leia mais nos documentos de perguntas frequentes do Python no Windows .

MWOJO
fonte
3

Para quem tenta fazer isso com o Python 3.3 ou superior, o instalador do Windows agora inclui uma opção para adicionar python.exe ao caminho de pesquisa do sistema. Leia mais nos documentos .

Andreas Bergström
fonte
3

Esta pergunta precisa de uma resposta adequada:

Basta usar o pacote padrão site, que foi feito para este trabalho!

e aqui está como (plagiando minha própria resposta à minha própria pergunta sobre o mesmo tópico):


  1. Abra um prompt do Python e digite
>>> import site
>>> site.USER_SITE
'C:\\Users\\ojdo\\AppData\\Roaming\\Python\\Python37\\site-packages'
...
  1. Crie esta pasta se ainda não existir:
...
>>> import os
>>> os.makedirs(site.USER_SITE)
...
  1. Crie um arquivo sitecustomize.pynesta pasta que contenha o conteúdo de FIND_MY_PACKAGES, manualmente ou usando algo como o código a seguir. Obviamente, você deve mudar C:\My_Projectspara o caminho correto para o seu local de importação personalizado.
...
>>> FIND_MY_PACKAGES = """
import site
site.addsitedir(r'C:\My_Projects')
"""
>>> filename = os.path.join(site.USER_SITE, 'sitecustomize.py')
>>> with open(filename, 'w') as outfile:
...     print(FIND_MY_PACKAGES, file=outfile)

E na próxima vez em que você iniciar o Python, C:\My_Projectsestiver presente no seu sys.path, sem precisar tocar nas configurações do sistema. Bônus: as etapas acima também funcionam no Linux!

ojdo
fonte
Parece que este é o caminho a seguir. Uma solução boa, multiplataforma e de longo prazo. Muito bom!
Pramesh Bajracharya 17/04
2

Essa PYTHONPATHvariável precisa ser definida para ArcPYquando o ArcGIS Desktop estiver instalado.

PYTHONPATH=C:\arcgis\bin (sua lixeira doméstica do ArcGIS)

Por alguma razão, nunca foi definido quando usei o instalador em um sistema Windows 7 de 32 bits.

Dan Randolph
fonte
2

Eu trabalhei no Windows 10 seguindo as etapas abaixo.

Em variáveis ​​de ambiente, você deve adicioná-lo apenas em PATH de " Variáveis ​​do sistema " e não em " Variáveis ​​do usuário ". Essa é uma grande confusão e leva tempo, se sentirmos falta dela.

Além disso, tente navegar até o caminho em que você instalou o Python em sua máquina e adicione-o ao PATH. Isso apenas funciona e não há necessidade de adicionar outra coisa no meu caso. Eu adicionei logo abaixo do caminho e funcionou.

C: \ Usuários \ NomeDoUsuário \ AppData \ Local \ Programas \ Python \ Python37-32

Mais importante , feche o prompt de comando, abra novamente e tente digitar "python" para ver os detalhes da versão. Você precisa reiniciar o prompt de comando para ver a versão após configurar o caminho nas variáveis ​​de ambiente.

Após reiniciar, você poderá ver o prompt do python e as informações abaixo ao digitar python no prompt de comando:

Ao digitar python no prompt de comando

Ravi Shankar Kota
fonte
1

Talvez um pouco tarde, mas é assim que você adiciona o caminho às variáveis ​​de ambiente do Windows.

  1. Vá para a guia Variáveis ​​de ambiente, faça isso pressionando a tecla Windows + Pausa inter.

  2. Vá para Configurações avançadas do sistema.

  3. Clique em Variáveis ​​de ambiente.

  4. Na janela inferior, pesquise o valor 'Caminho'.

  5. Selecione

  6. Clique em Editar

  7. No final da linha, adicione sua pasta de instalação e o caminho para a pasta 'Scripts'.

  8. Clique em ok, aceptar etc.

Você terminou, digite cmd e escreva python a partir de qualquer local da sua unidade; ele deve entrar no programa Python.

Exemplo com o meu pc (eu tenho Python34)

EXISTING_LINES;C:\Python34;C:\Python34\Scripts\

Espero que ajude.

Saudações de Bogotá

sandatomo
fonte
2
Na verdade, é um pouco tarde, uma vez que esta resposta já foi dada há cinco anos :-) Também não é realmente o que é pedido aqui (uma vez que a pergunta é sobre PYTHONPATH, não PATH) ...
Martin Tournoij
2
O que é Pausa inter.?
Ringo
0

Você pode definir a variável de caminho facilmente por prompt de comando.

  1. Abra executar e escrever cmd

  2. Na janela de comando, escreva o seguinte: set path =% path%; C: \ python36

  3. pressione Enter.
  4. para verificar escrever python e entrar. Você verá a versão python como mostrado na figura.

insira a descrição da imagem aqui

Abdur Rahman
fonte
0

Embora essa pergunta seja sobre o Python 'real', ela surgiu em uma pesquisa na web por 'Iron Python PYTHONPATH'. Para usuários do Iron Python tão confusos quanto eu: acontece que o Iron Python procura uma variável de ambiente chamadaIRONPYTHONPATH .

Usuários de Linux / Mac / POSIX: Não esqueça que o Windows não apenas usa \como separadores de caminho, mas também ;como delimitadores de caminho :.

Michael Scheper
fonte