我目前正在尝试在 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
.看这个截图:
接下来,我添加了
/usr/local/lib/python3.7/site-packages
每 homebrew
安装 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 右上角的代码后,最终得到了这个输出:
[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 运行。
那些带有 [Running]
的输出日志和 [Done]
是代码运行器。
播放按钮也不是绿色的,表示 Code Runner 因为默认是绿色的。
现在,修复!
您会注意到它使用 python -u
执行了您的脚本。 .那个python
将是任何 python
意味着在你的系统上,对我来说这是默认的 Python 2.7。基本上,它不是带有 numpy 的 Homebrew Python3。
Code Runner 有一组默认的“执行程序”,它告诉它哪个可执行文件用于哪种语言。在您的设置中将其搜索为“code-runner Executor Map”:
打开你的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",
...
}
它现在应该可以工作:
它适用于
#! /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/