gpt4 book ai didi

python-3.x - 在 Visual Studio Code for Mac OS 中使用 Homebrew python3 和 homebrew 包和 pip/pip3 包

转载 作者:行者123 更新时间:2023-12-04 10:15:16 25 4
gpt4 key购买 nike

我目前正在尝试在 Mac OSX 10.13.6 上设置 Visual Studio Code 以在 python3 中进行编码.我想避免为我的不同 python3 使用多个虚拟环境脚本,而是让它们全部使用:

(1) 同homebrew安装python3
(2)访问已安装的python包:

  • homebrew包裹 list
  • pip3已安装包列表
  • pip已安装的软件包列表。

  • 一、我第一次安装 python3使用 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

    其次,我使用 homebrew 安装了我需要的软件包。 :
    $ brew list
    cmake libffi p11-kit
    dcraw libheif pandoc
    dlib libidn2 pcre
    ...
    jasper numpy webp
    ...

    和其他使用 pip 的包和 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

    第三,我打开 Visual Studio Code 并在“首选项”->“设置”中设置 "Python:Python Path"homebrew python3如上所述安装 /usr/local/bin/python3 .

    看这个截图:
    Python:Python Path

    接下来,我添加了 /usr/local/lib/python3.7/site-packageshomebrew安装 python3到 Visual Studio 代码设置文件,使用:
    "python.autoComplete.extraPaths": [
    "/usr/local/lib/python3.7/site-packages" ]

    最后,我在 Visual Studio Code 中选择了我的 python 解释器作为 /usr/local/bin/python3并尝试在 .py 中运行以下两行导入根据下面的屏幕截图编写脚本。请注意,解释器是 Python 3.7.0 64-bit由 VS Code 窗口的左下角给出。

    VS Code Screenshot

    毕竟,在单击“播放”按钮以运行 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

    配置 VS Code 的最简单方法是什么,以便我可以运行 python3无需使用虚拟环境即可访问我在系统中安装的所有软件包的脚本?谢谢!

    注意:一种似乎有效的解决方法,我不确定为什么我在脚本顶部放置了一个shebang #! /usr/local/bin/python3然后我的输出看起来像这样:
    [Running]  /usr/local/bin/python3 "/Users/...bayes_net_nodes.py"

    [Done] exited with code=0 in 0.051 seconds

    这很奇怪,因为这与上面我没有使用 shebang 的输出不同,但是根据 VSCode 的两个 python 解释器确实是 /usr/local/bin/python3

    最佳答案

    我能够重现您的问题.. 但是 仅当我使用 Code Runner 运行。

    enter image description here

    那些带有 [Running] 的输出日志和 [Done]是代码运行器。
    播放按钮也不是绿色的,表示 Code Runner 因为默认是绿色的。

    现在,修复!

    您会注意到它使用 python -u 执行了您的脚本。 .那个python将是任何 python意味着在你的系统上,对我来说这是默认的 Python 2.7。基本上,它不是带有 numpy 的 Homebrew Python3。

    Code Runner 有一组默认的“执行程序”,它告诉它哪个可执行文件用于哪种语言。在您的设置中将其搜索为“code-runner Executor Map”:

    enter image description here

    打开你的settings.json,输入code-runner.executorMap ,然后让它使用默认值自动完成。然后,您将看到一长串语言和执行程序之间的映射。为 python 寻找一个:

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

    它是: python -u ,它用于运行您的脚本的同一个。

    如果您想继续使用 Code Runner,只需将其更改为 python你想使用的解释器。在你的情况下,它应该是 /usr/local/bin/python3 :
        "code-runner.executorMap": {
    ...
    "python": "/usr/local/bin/python3",
    ...
    }

    它现在应该可以工作:

    enter image description here

    它适用于 #! /usr/local/bin/python3 的原因shebang 是因为 Code Runner 有一个设置,它尊重文件的 shebang ( code-runner.respectShebang ),默认情况下为 true。

    如果您不想设置 Code Runner 的额外步骤,您可以简单地禁用(或卸载它)。您已经执行的所有步骤(设置 python.pythonPath ,选择解释器,然后单击“播放”按钮)在 Microsoft 的 Python extension 上都可以正常工作。 .请参阅 running Python files 上的官方文档, selecting environments , 和 debugging .

    关于python-3.x - 在 Visual Studio Code for Mac OS 中使用 Homebrew python3 和 homebrew 包和 pip/pip3 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61093541/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com