此代码适用于 PyCharm,但不适用于 VSCode

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

这个问题已经有 3 年历史了:代码可以在 pyCharm 中运行,但不能在 Visual Studio Code 中运行

所以,也许这就是它不再起作用的原因。无论如何,我有这个项目结构:

当我在“01SpaceInvaders”下运行“main.py”时,它工作得很好,但 vscode 中的相同代码返回此错误:

Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
  File "C:\Users\salva\Documents\VS Code\pysandbox\game\01SpaceInvaders\main.py", line 5, in <module>
    from game.sdfengine.locals import *
ModuleNotFoundError: No module named 'game'

当然,我的 VSCode 中缺少一个配置,但我不知道是什么。有线索吗?

这就是我从 VSCode 执行代码的方式:

1. I open a new terminal
2. Go to 01SpaceInvaders
3. py main.py

根据评论看来是 VSCode 配置问题:

在哪里可以找到要编辑的文件以及了解如何编辑该文件的指南?

python visual-studio-code pycharm
2个回答
0
投票

这里的问题是 python 不知道在哪里找到名为

game
的目录,因为它不是已安装的 python 库(它是项目结构中的目录)

要让 python 知道它应该将其视为要从中导入的库的目录,您可以使用环境变量 PYTHONPATH (请参阅文档此处

您可以:

  1. 从命令行临时配置您的
    PYTHONPATH
    环境变量:
set PYTHONPATH=%PYTHONPATH%;C:\Users\salva\Documents\VS Code\pysandbox
  1. 通过在开始菜单中搜索“编辑环境变量”在 Windows 上永久配置它

  2. 编辑您的 vscode

    settings.json
    文件(请参阅文档此处)ctrl + shift + p ->“打开用户设置(JSON)”并添加:

"terminal.integrated.env.windows": {
    "PYTHONPATH": "${env:PYTHONPATH};C:\\your\\path\\here"
}

-2
投票

最直接的方法是在代码顶部添加以下内容来指示路径:

import sys
sys.path.append("./")

您还可以使用 .env 文件配置

PYTHONPATH

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