使用 pyenv 的 Visual Studio 代码中没有适用于 Mac OS 的名为“numpy”的模块

问题描述 投票:0回答:6

我的 numpy 有问题。

当我尝试在 Visual Studio 中运行 main.py 文件时,我收到此消息。

import numpy as np
ModuleNotFoundError: No module named 'numpy'
ERROR conda.cli.main_run:execute(33): Subprocess for 'conda run ['python', '/Users/Bruker/Documents/Prosjektoppgave/PPO/main.py']' command failed. 

(错误见上文)

我创建了一个虚拟环境,并且正在使用

3.8.12 ('mlp': conda)
,这也是我使用终端所处的环境。

我正在使用 Macbook 并尝试使用 Visual Studio 代码中的张量流,但代码停在

import numpy as np

如果我运行

pip install numpy
我会收到以下消息:

Requirement already satisfied: numpy in /opt/homebrew/Caskroom/miniforge/base/envs/mlp/lib/python3.8/site-packages (1.22.2)

如果我跑步

import sys
print("version: ", sys.executable)

收到了

version:  /opt/homebrew/Caskroom/miniforge/base/bin/python

我该怎么办?..

python macos numpy visual-studio-code conda
6个回答
1
投票

其中一个问题取决于您运行代码的方式。 在 VS Code 中,您必须确保它使用通过 pyenv 设置的正确 Python 环境。通常,除非配置为使用另一个解释器,否则它将使用全局 Python 解释器运行。

来自文档:

全局和虚拟环境# 默认情况下,您安装的任何 Python 解释器都在其自己的全局环境中运行,该环境不特定于任何一个项目。

您可以阅读此处了解如何在 VS Code 中正确设置它。

另一个问题可能是您的 pip 不是为环境安装的,而是全局安装的。换句话说,您正在正确的环境中运行,但 pip 不正确。 在这种情况下,你可以运行:

python -m pip install numpy

它将使用链接到您当前正在使用的Python环境的

pip

希望有帮助!


1
投票

您使用的口译员是

/opt/homebrew/Caskroom/miniforge/base/bin/python

但是您假设您正在使用

mlp
环境并且也已安装到该环境:

Requirement already satisfied: numpy in /opt/homebrew/Caskroom/miniforge/base/envs/mlp/lib/python3.8/site-packages (1.22.2)

所以你的 Visual Studio 代码没有正确设置,因为它应该使用

/opt/homebrew/Caskroom/miniforge/base/envs/mlp/bin/python

1
投票

这里必须注意的几点

  1. 你说你使用
    conda
    python
  2. /opt/homebrew/Caskroom/miniforge/base/bin/python
    显示这是从
    Homebrew
  3. 安装的 Python

这可能是您正在处理的不缺少 numpy 的根本原因问题。在 Mac 中,坚持使用一个 python 版本非常重要。请重新配置您的 Python 路径。

对于您的 conda 环境,您可以检查 https://docs.anaconda.com/anaconda/user-guide/tasks/integration/python-path/

建议:下载Anaconda Package并安装。

由于您正在使用 TensorFlow,我建议您只使用 Conda 更新,而不是使用任何

pip install
来获得更好的包依赖性检查和正确计划的包更新。


1
投票

你是不是用

conda run
来执行python文件,不是吗?像这样:

conda run -n env01 --no-capture-output --live-stream python c:/Work/python3.10/hello/a.py

这是Python扩展的新更新:

使用 conda run 作为 conda 环境来运行 python 文件和 安装模块。 (#18479)

变更日志(2022 年 2 月 28 日)。

但是正如您所发现的,它不会利用Anaconda3下的子环境。它使用的是基础环境。如果你直接在终端中像

python pythonFileName.py
一样执行它,你会发现它有效。

看起来像是更新后Python Extension的问题,我已经在GitHub上提交了一个bug,你可以参考这里了解更多详情。

更新:

解决方法:

  1. 在settings.json中将“python.terminal.activateEnvironment”设置为false。
  2. 降级到以前版本的扩展,效果很好(避免
    conda run
    )。
  3. 尝试以下具有潜在修复功能的 VSIX:https://github.com/microsoft/vscode-python/suites/5578467772/artifacts/180581906,使用扩展:从 VSIX 命令安装来安装 VSIX。

原因:

Conda 有一些问题:

conda run -n MY-ENV python FILE.py 使用基本解释器而不是环境解释器。

在已激活的环境中使用 conda run 运行应该与在外部运行相同

conda run 不会从 $PATH 中删除基本环境组件


0
投票

非常感谢您的帮助!

我现在使用本指南解决了问题: https://www.youtube.com/watch?v=_CO-ND1FTOU

首先,我在电脑上卸载了conda和homebrew,然后安装了miniforge。

至少目前有效!


0
投票

python -m pip 安装 numpy

这对我有用

© www.soinside.com 2019 - 2024. All rights reserved.