【问题标题】:Not found module error when I tried importing module what I made当我尝试导入我所做的模块时未找到模块错误
【发布时间】:2020-11-18 12:43:26
【问题描述】:

我尝试将 myPackage 的 myModule 导入到 main.js 中。 目录结构如下所示

#Directory structure
test02
└myPackage
│     └myModule.py
│     └__init__.py
└myView
      └main.py

但它有 ModuleNotFoundError 像我附加的屏幕截图 enter image description here

#main 
from myPackage import myModule

myModule.printTest()
#myModule
def printTest():
    print('test')

我知道一种解决方案,那就是我自己输入路径 enter image description here

#main 
import sys
sys.path.insert(0, '/VScode/vscode_python/test02/')
from myPackage import myModule

myModule.printTest()
#myModule
def printTest():
    print('test')

但我认为这不是聪明的方式。

我想知道有没有办法设置vs代码,以便自动添加路径。

【问题讨论】:

  • 嗨,Leo,你能在帖子中插入代码,而不是图片吗?这将使您的问题更具可读性和可搜索性。谢谢。
  • 感谢您的评论。我添加了代码

标签: python python-3.x path settings vscode-settings


【解决方案1】:

您可以将 myModule 复制粘贴到与 main.py 相同的位置。并简单地使用:

import myModule

或者复制粘贴 myPackage 到前面说的位置。并使用:

from myPackage import myModule

【讨论】:

    【解决方案2】:

    您的问题是因为 MyModule.py 与 main.py 不在同一个文件夹中。

    或者你必须将它们放在同一个文件夹中,或者你可以在 sys.path 变量中添加 MyModule.py 的路径:

    import os,sys,inspect
    currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
    parentdir = os.path.dirname(currentdir)
    print(sys.path)
    sys.path.insert(0,parentdir+'\\MyPackage')
    print(sys.path)
    

    然后导入 MyModule

    【讨论】:

    • Hmmmm.... 有什么办法可以在不直接输入路径的情况下解决问题,同时保持当前目录结构?例如,更改 vscode 的设置。
    猜你喜欢
    • 2022-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-01
    • 1970-01-01
    相关资源
    最近更新 更多