Usando o Homebrew python3 com os pacotes homebrew e os pacotes pip / pip3 no Visual Studio Code para Mac OS

MindTruly para iniciantes

Atualmente, estou tentando configurar o Visual Studio Code no Mac OSX 10.13.6 para a codificação python3. Eu gostaria de evitar o uso de vários ambientes virtuais para meus python3scripts diferentes e, em vez disso, fazer com que todos sejam executados usando:

(1) a mesma homebrewinstalação depython3

(2) acessar pacotes Python instalados em:

  • homebrew lista de pacotes
  • pip3 lista de pacotes instalados
  • pip lista de pacotes instalados.

Primeiro, instalei primeiro python3usando homebrew:

$ brew info python
python: stable 3.7.7 (bottled), HEAD
Interpreted, interactive, object-oriented programming language
https://www.python.org/
/usr/local/Cellar/python/3.7.7 (4,062 files, 62.4MB)
...
Python has been installed as
  /usr/local/bin/python3
...
You can install Python packages with
  pip3 install <package>
They will install into the site-package directory
  /usr/local/lib/python3.7/site-packages

Em segundo lugar, instalei meus pacotes necessários usando homebrew:

$ brew list
cmake           libffi          p11-kit
dcraw           libheif         pandoc
dlib            libidn2         pcre
...
jasper          numpy           webp
...

E outros pacotes usando pipe pip3:

$ pip list
DEPRECATION:...
Package                                Version 
-------------------------------------- --------
altgraph                               0.10.2  
...
numpy                                  1.8.0rc1
...
zope.interface                         4.1.1  
$
$ pip3 list
Package            Version
------------------ -------
appnope            0.1.0  
... 
numpy              1.18.2 
pandocfilters      1.4.2  
parso              0.5.2  
pexpect            4.7.0  
pickleshare        0.7.5  
pip                20.0.2 
pomegranate        0.12.2 
...
scipy              1.4.1  

Terceiro, abri o código do Visual Studio e em "Preferências" -> "Configurações" e configurei "Python:Python Path"a homebrew python3instalação conforme observado acima /usr/local/bin/python3.

Veja esta imagem: Python: caminho do Python

Em seguida, adicionei /usr/local/lib/python3.7/site-packagespor homebrewinstalação python3ao arquivo de configurações de código do Visual Studio usando:

"python.autoComplete.extraPaths": [
    "/usr/local/lib/python3.7/site-packages" ]

Por fim, selecionei meu interpretador Python no Visual Studio Code /usr/local/bin/python3e tentei executar as 2 linhas de importação a seguir em um .pyscript, conforme a captura de tela abaixo. Observe que o interpretador é Python 3.7.0 64-bitfornecido pelo canto inferior esquerdo da janela do VS Code.

Captura de tela do código VS

E depois de tudo isso, acabou ficando com essa saída após clicar no botão "Play" para executar o código no canto superior direito do VS Code:

[Running] python -u "/Users/...bayes_net_nodes.py"
Traceback (most recent call last):
  File "/Users/...bayes_net_nodes.py", line 1, in <module>
    import numpy as np
ModuleNotFoundError: No module named 'numpy'

[Done] exited with code=1 in 0.037 seconds

What would be the most simple way to configure VS Code so I can run python3 scripts that have access to the all the packages I've installed across my system without using virtual environments? Thank you!

Note: One workaround that seems to work, and I'm not sure why is if I put a shebang at the top of my script #! /usr/local/bin/python3 and my output then looks like this:

[Running]  /usr/local/bin/python3 "/Users/...bayes_net_nodes.py"

[Done] exited with code=0 in 0.051 seconds

Which is odd, because that's different than the output above where I didn't use the shebang but both python interpreters according to VSCode are indeed /usr/local/bin/python3

Gino Mempin

I was able to reproduce your problem.. but only when I use Code Runner to run.

insira a descrição da imagem aqui

Those kind of Output logs with [Running] and [Done] is Code Runner.
The play button is also not green, indicating Code Runner because the default is green.

Now, for the fix!

You'll notice that it executed your script using python -u. That python would be whatever python means on your system, which for me is the default Python 2.7. Basically, it's not your Homebrew Python3 with numpy.

Code Runner has a default set of "executors" which tells it which executable to use for which language. Search it for in your settings as "code-runner Executor Map":

insira a descrição da imagem aqui

Open your settings.json, enter code-runner.executorMap, then let it auto-complete with the default. You'll then see a long list of mappings between language and executor. Look for the one for python:

    "code-runner.executorMap": {
        "javascript": "node",
        ...
        "python": "python -u",
        "perl": "perl",
        ...
    }

And there it is: python -u, the same one it used to run your script.

If you want to continue using Code Runner, simply change it to the whichever python interpreter you want to use. In your case, it should be /usr/local/bin/python3:

    "code-runner.executorMap": {
        ...
        "python": "/usr/local/bin/python3",
        ...
    }

It should now work:

insira a descrição da imagem aqui

The reason it works with a #! /usr/local/bin/python3 shebang is because Code Runner has a setting that it respects the file's shebang (code-runner.respectShebang) which is true by default.

Se você não quiser essa etapa extra de configuração do Code Runner, pode simplesmente desabilitá-lo (ou desinstalá-lo). Todas as etapas que você já realizou (configuração python.pythonPath, seleção do intérprete e clique no botão Play) já teriam funcionado perfeitamente com a extensão Python da Microsoft . Veja os documentos oficiais sobre a execução de arquivos Python , seleção de ambientes e depuração .

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Usando o Homebrew python3 com os pacotes homebrew e os pacotes pip / pip3 no Visual Studio Code para Mac OS

Como fazer o pip ver os pacotes instalados com o homebrew?

Migrar todos os pacotes python2 para python3 com pip

comando pip3 para atualizar todos os pacotes, que é cuidadoso com os conflitos de dependência?

A atualização do Homebrew para Python 2.7.10_2 faz com que os pacotes falhem com 'imagem não encontrada'

Como devo instalar os pacotes com pip?

Onde estão os pacotes no Visual Studio Mac 7.3.3?

Os pacotes PIP são com curadoria? É seguro instalá-los?

Problemas com pip3 e pipenv com instalação fresca do Mac OS Catalina

O código do Visual Studio não reconhece os pacotes pip instalados?

usando o requirements.txt para instalar automaticamente os pacotes dos canais conda e pip em um novo ambiente conda

Como atualizar todos os pacotes Python com pip?

Proteja os pacotes instalados de atualização ao instalar novos pacotes com pip

Por que os pacotes instalados com `pip install -e .` não precisam de __init__.py?

Como criar automaticamente um arquivo de requisitos com todos os pacotes Python instalados usando pip?

Não consigo instalar pacotes para Python com Homebrew

Atualize os pacotes Python de requirements.txt usando o comando pip

Como atualizar os pacotes da biblioteca padrão Python com pip?

download com pacotes pip3 para outra versão python

Homebrew: lista os pacotes instalados a partir dos taps?

A instalação do pip3 falha no Mac OS

A desinstalação do pip remove todos os seus pacotes?

De quais repositórios os pacotes pip são instalados?

Como obter apenas os pacotes pip usados?

Como obter apenas os pacotes pip usados?

Usando pip ou pip3 para instalar pacotes em Anaconda, Python, Jupyter

Como definir o caminho dos pacotes para fsharpc no Mac OS

Posso manter atualizados apenas os pacotes instalados diretamente com o pip?

O que faria com que os pacotes / bibliotecas no Spyder fossem diferentes daqueles usados no pip?

TOP lista

  1. 1

    R Shiny: use HTML em funções (como textInput, checkboxGroupInput)

  2. 2

    O Chromium e o Firefox exibem as cores de maneira diferente e não sei qual deles está fazendo certo

  3. 3

    Como assinar digitalmente um documento PDF com assinatura e texto visíveis usando Java

  4. 4

    R Folheto. Dados de pontos de grupo em células para resumir muitos pontos de dados

  5. 5

    Gerenciar recurso shake de Windows Aero com barra de título personalizado

  6. 6

    Como obter dados API adequados para o aplicativo angular?

  7. 7

    UITextView não está exibindo texto longo

  8. 8

    Por que meus intervalos de confiança de 95% da minha regressão multivariada estão sendo plotados como uma linha de loess?

  9. 9

    Acessando relatório de campanhas na AdMob usando a API do Adsense

  10. 10

    Usando o plug-in Platform.js do Google

  11. 11

    Como posso modificar esse algoritmo de linha de visada para aceitar raios que passam pelos cantos?

  12. 12

    Dependência circular de diálogo personalizado

  13. 13

    Coloque uma caixa de texto HTML em uma imagem em uma posição fixa para site para desktop e celular

  14. 14

    iOS: como adicionar sombra projetada e sombra de traço no UIView?

  15. 15

    Como usar a caixa de diálogo de seleção de nomes com VBA para enviar e-mail para mais de um destinatário?

  16. 16

    Tabela CSS: barra de rolagem para a primeira coluna e largura automática para a coluna restante

  17. 17

    How to create dynamic navigation menu select from database using Codeigniter?

  18. 18

    Converter valores de linha SQL em colunas

  19. 19

    ChartJS, várias linhas no rótulo do gráfico de barras

  20. 20

    用@StyleableRes注释的getStyledAttributes。禁止警告

  21. 21

    não é possível adicionar dependência para com.google.android.gms.tasks.OnSuccessListener

quentelabel

Arquivo