【问题标题】:how to get my python executable to find my site packages如何让我的 python 可执行文件找到我的站点包
【发布时间】:2022-01-18 05:07:10
【问题描述】:

我使用 anaconda 设置了多个环境。然后,我使用 Visual Studio 代码进行所有编辑。 但是,vscode中的jupyter/交互窗口能找到哪些包,和终端调用的‘python.exe’能找到哪些包,似乎还是有区别的。

具体来说: 我已经使用 pip 安装了 mne_bids,因为它不在 conda 中。

我可以使用交互式窗口很好地导入这个:

但是,从专用终端运行相同的代码不起作用:

python mne_test3.py
Traceback (most recent call last):
  File "mne_test3.py", line 3, in <module>
    import mne_bids
ModuleNotFoundError: No module named 'mne_bids'

那么我需要改变什么才能在终端和交互式窗口中导入相同的包?他们都使用相同的 conda 环境。 我已经使用 windows gui 设置了 PYTHONPATH 环境变量:

编辑: 一些乐于助人的人建议我可能激活了不同的 conda 环境。我认为情况并非如此。在下图中可以看到整个 vscode 界面:

希望您可以看到交互式窗口和 powershell 都是“MNE”(这是包含 mne_bids 的 conda 环境的名称)。

看来我遇到的问题与Visual Studio Code terminal doesn't activate Conda environment中讨论的问题类似。我正在研究那里的一些建议。

【问题讨论】:

  • 你在改变 VSCode 中的 python 解释器吗?不知道 anaconda 是如何在这里处理这个问题的,但是 virtualenv,例如,没有,你最终需要手动设置一些东西
  • 您永远不必将站点包目录添加到 PYTHONPATH

标签: python visual-studio-code conda


【解决方案1】:

我偶然发现了这个帖子:

Visual Studio Code terminal doesn't activate Conda environment

我尝试在终端中运行“conda init”,并从 anaconda 提示符启动 vscode。不知何故,这些的组合似乎已经解决了这个问题,当我从开始菜单启动 vscode 时,我仍然可以选择在终端中更改 conda 环境...

【讨论】:

    【解决方案2】:

    您为Jupyter Interactivepython file 选择了不同的python 环境。

    您可以从 VSCode 的左下角获取您为 python file 选择的 Python 解释器,从右上角获取为 Jupyter Interactive 选择的 Python 解释器。

    您无需在系统环境中添加PYTHONPATH。如果你想得到PYTHONPATH,你可以拿这个:

    import sys
    from pprint import pprint
    pprint(sys.path)
    

    【讨论】:

      【解决方案3】:

      在 VSCODE 中,按 F1 并键入 python:选择解释器。或按 Python 内核按钮。然后你可以选择安装了mne_bids模块的python解释器。

      另外,您可以在 VSCODE Jupyter Notebook(Interactive Window) 中选择内核。 按 F1 并键入 选择笔记本内核 或按选择内核按钮。

      而且我认为你应该使用 conda 虚拟环境。见the documentation on managing Conda environments.

      【讨论】:

        猜你喜欢
        • 2010-09-12
        • 1970-01-01
        • 2023-02-21
        • 1970-01-01
        • 1970-01-01
        • 2014-06-27
        • 1970-01-01
        • 2010-10-14
        相关资源
        最近更新 更多