【问题标题】:KeyError for os.envron['PATH'] in Visual Studio Code on ubuntuubuntu 上 Visual Studio Code 中 os.envron['PATH'] 的 KeyError
【发布时间】:2018-01-10 02:39:04
【问题描述】:

我在 Ubuntu 16.04(64 位)上安装了 Visual Studio Code(1.19.1,64 位),Python 2.7 已经安装了 ubuntu(默认情况下),numpy 的安装方式是:sudo pip install numpy

我编写了一个文件,例如test.py 包含以下几行:

import numpy
print(10)

当我在 Visual Studio Code 中使用 F5 运行这个 python 文件时,会出现错误:

Traceback (most recent call last):
  File "/home/ml/test/test.py", line 1, in <module>
    import numpy
  File "/usr/local/lib/python2.7/dist-packages/numpy/__init__.py", line 126, in <module>
    from numpy.__config__ import show as show_config
  File "/usr/local/lib/python2.7/dist-packages/numpy/__config__.py", line 9, in <module>
    os.environ["PATH"] += os.pathsep + extra_dll_dir
  File "/usr/lib/python2.7/UserDict.py", line 40, in __getitem__
    raise KeyError(key)
KeyError: 'PATH'

原来 os.envrion['PATH'] 抛出这个错误,表明 os.environ 集合中不存在键 'PATH'。

但是,如果我在终端中运行 test.py,一切都会正常,并且 os.environ["PATH"] 返回正确的结果。

请问对此问题有什么建议吗?

【问题讨论】:

  • 检查 VS Code 用于 Python 的环境变量设置。
  • VS Code 的 Python 配置保持不变,例如:"python.pythonPath": "python"。环境变量还有其他地方吗?
  • 仅供参考,您不想将 python.pythonPath 设置为 python。如果您要显式设置它,它应该是一个绝对路径(否则使用Select Interpreter 选项来指定它)。有机会把事情扔掉。
  • 我尝试了绝对路径和“选择解释器”选项,但错误仍然存​​在。但是,当我通过“apt-get install python-numpy”安装 numpy 并删除以前通过“pip install numpy”安装的 numpy 时,一切正常。我想知道为什么“pip”不起作用。
  • Ubuntu 很可能在安装 Python 和/或 pip 时进行了一些调整,使其无法正常工作。

标签: python ubuntu visual-studio-code


【解决方案1】:

这似乎是一个已知问题,应该在 1 月底之前解决。有关以下 GitHub 问题的更多详细信息:

https://github.com/Microsoft/vscode-python/issues/436

2018 年 1 月 29 日到期的里程碑

https://github.com/Microsoft/vscode-python/milestone/2

【讨论】:

    【解决方案2】:

    我在使用其他一些 Python 库时遇到了这个问题。直到新版本的 VSCode 发布,我已经添加了一个 .env 文件与

    PATH=$PATH

    这似乎解决了我的问题,我可以使用 Python 调试器。

    【讨论】:

    • 您能告诉我如何添加这个 .env 文件吗?谢谢。
    • 在根工作区文件夹中创建一个名为“.env”的文件。复制我在此文件中提到的文本并启动调试器。现在它应该适合你了。
    猜你喜欢
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-10
    • 2018-05-19
    • 1970-01-01
    • 2022-08-08
    相关资源
    最近更新 更多