相关疑难解决方法(0)

ImportError:无法导入名称X.

我有四个不同的文件:main,vector,entity和physics.我不会发布所有代码,只发布导入,因为我认为这就是错误所在.(如果你愿意,我可以发布更多)

主要:

import time
from entity import Ent
from vector import Vect
#the rest just creates an entity and prints the result of movement
Run Code Online (Sandbox Code Playgroud)

实体:

from vector import Vect
from physics import Physics
class Ent:
    #holds vector information and id
def tick(self, dt):
    #this is where physics changes the velocity and position vectors
Run Code Online (Sandbox Code Playgroud)

向量:

from math import *
class Vect:
    #holds i, j, k, and does vector math
Run Code Online (Sandbox Code Playgroud)

物理:

from entity import Ent
class Physics:
    #physics class gets an entity …
Run Code Online (Sandbox Code Playgroud)

python circular-dependency python-import importerror

475
推荐指数
14
解决办法
62万
查看次数

无法让 VSCode/Python 调试器找到我的项目模块

我有一个项目,正在尝试调试我的main.py. 我真的很困惑为什么我在运行调试器时从文件顶部的导入中(仅​​)收到以下错误:

Exception has occurred: ModuleNotFoundError
No module named 'bbb'
  File "/Users/maxepstein/myproject/bbb/train/__main__.py", line 8, in <module>
    from bbb.mysubfolder.myfile import myfunction
Run Code Online (Sandbox Code Playgroud)

我的项目文件夹结构,如这些打印语句所示(如调试器所示)确认我的“bbb”模块存在,并且有一个 __init__.py:

import os
print(os.getcwd())
print(os.listdir())
print(os.listdir('bbb'))

/Users/maxepstein/myproject
['requirements.txt', 'bbb', 'resources', '__init__.py', 'readme.md', 'results', '.gitignore', '.git', '.vscode', 'bbenv']
['config', 'tests', '__init__.py', 'utils', 'predict', 'train']
Run Code Online (Sandbox Code Playgroud)

我试图调试为“调试当前文件 - 集成终端”,下面是我的 debug settings.json 中适用的调试设置。在网上搜索后,我真的认为添加"cwd": "/Users/maxepstein/myproject"以下内容是我的解决方案,但没有帮助。

"version": "0.2.0",
"configurations": [
    {
        "name": "Python: Current File (Integrated Terminal)",
        "type": "python",
        "request": "launch",
        "program": "${file}",
        "console": "integratedTerminal",
        "cwd": "/Users/maxepstein/myproject"
    }
Run Code Online (Sandbox Code Playgroud)

python debugging visual-studio-debugging visual-studio-code

14
推荐指数
4
解决办法
2万
查看次数

python模块的vscode导入错误

我试图从一个目录级别进行python导入.

import sys

sys.path.append('..')
from cn_modules import exception
Run Code Online (Sandbox Code Playgroud)

当我尝试运行构建任务时,我从VSCode收到错误:

ImportError:没有名为cn_modules的模块

相同的代码在终端(python)没有任何错误的情况下工作.
当我尝试从VSCode运行构建任务运行它时,我遇到了问题.
这里有什么问题的任何线索?

安静了一段时间,但无法解决这个问题,任何帮助表示赞赏.


注意:当我使用vscode进行调试时,这也适用.下面是我对launch.json和tasks.json的配置

launch.json

 {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Python Console App",
                "type": "python",
                "request": "launch",
                "stopOnEntry": true,
                "program": "${file}",
                "externalConsole": true,
                "debugOptions": [
                    "WaitOnAbnormalExit",
                    "WaitOnNormalExit"
                ],
                "env": {},
                "envFile": "${workspaceRoot}/.env",
                "console":"integratedTerminal",
                "pythonPath": "${config:python.pythonPath}"
            }
        ]
    }
Run Code Online (Sandbox Code Playgroud)

tasks.json

{
        "version": "0.1.0",
        "command": "/usr/bin/python",
        "isShellCommand": true,
        "args": ["${file}"],
        "showOutput": "always",
        "env": {},
        "envFile": "${workspaceRoot}/.env",
        "pythonPath": "${config:python.pythonPath}"
 }
Run Code Online (Sandbox Code Playgroud)

python-2.7 visual-studio-code vscode-settings vscode-tasks

13
推荐指数
5
解决办法
2万
查看次数

VS代码-pylinter无法找到模块

我开始在Mac上使用VS Code进行Python开发,但无法 pylint找不到模块。

这是我的项目文件夹结构:

project_root/
   .env
   .vscode/
       settings.json
   lib/
       # lib containing necessary modules
   sample/
       client/
           EDAMTest.py
   # many more files
Run Code Online (Sandbox Code Playgroud)

我使用已安装的virtualenv pylint。虚拟环境在终端中被激活。我code从终端中的project_root文件夹中开始code .

VS Code说它正在使用正确的解释器。我在左下角看到它说Python 3.6.1 (virtualenv)

如果我想project_root/sample/client/EDAMTest.py在终端中测试代码,可以export PYTHONPATH=../../lib; python EDAMTest.py在文件夹中通过它进行测试project_root/sample/client/

现在,如果我使用VS Code,请打开文件EDAMTest.pypylint告诉我它无法从导入模块lib

现在我的问题是:

我如何添加libPYTHONPATH在VS代码?

我发现了几种可能的方法:

  1. 创建一个.env文件(请参阅下面的[1])。
  2. PYTHONPATH.vscode/launch.json文件中指定(请参阅[2])

我发现似乎没有可行的解决方案。

我想念什么?


[1] 环境变量定义文件

这告诉我如何定义全局(env)变量。所以我指定了这个:

PYTHONPATH="~/.virtualenvs/evernote/bin/python;lib"

但这是行不通的。不过lib小号路径没有被发现pylint


[2]因此,我确实创建了一个 …

python visual-studio-code vscode-settings

5
推荐指数
1
解决办法
2560
查看次数