首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在VSCode中导入内部模块

无法在VSCode中导入内部模块
EN

Stack Overflow用户
提问于 2022-02-21 00:59:28
回答 2查看 2.3K关注 0票数 4

我已经创建了内部模块,其结构如下-

代码语言:javascript
复制
project
└── src
    └── rogers
          └──__init__.py
          └── cd
            ├── __init__.py
            ├── preprocessor
            └── dataOps
                   └── __init__.py
                   └── verint.py                 

我所犯的错误-

代码语言:javascript
复制
Traceback (most recent call last):
  File "main_scripts/PreprocessingStep/verint_preprocessing.py", line 11, in <module>
    from rogers.cd.dataOPs import Verint
ImportError: No module named rogers.cd.dataOPs

数据操作中的init.py如下所示

代码语言:javascript
复制
from rogers.cd.dataOPs.boldchat import *
from rogers.cd.dataOPs.verint import *

这就是我的setup.py的样子(没有显示整个文件,只显示其中的一部分)

代码语言:javascript
复制
classifiers=[
        "Programming Language :: Python :: 3",
        "Operating System :: OS Independent",
    ],
    install_requires = external_packages,
    package_dir={"": "src"},
    packages=  setuptools.find_namespace_packages(where="src"),
    package_data={'': ['*.yaml']},
    include_package_data=True,
    python_requires=">=3.7",

我最近从PyCharm迁移到VSCode。该代码在PyCharm中运行良好,但不适用于VSCode。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-21 03:05:04

setup.py在VSCode中不工作,您可以通过(terminal.integrated.env.*) and/or within an .env file修改VSCode中的PYTHONPATH

PYTHONPATH环境变量指定Python解释器应该查找模块的其他位置。在VS代码中,PYTHONPATH可以通过终端设置(Teral.Integrated.env.*)和/或在.env文件中进行设置。 当使用终端设置时,PYTHONPATH会影响用户在终端内运行的任何工具,以及扩展对通过终端路由的用户执行的任何操作,如调试。但是,在这种情况下,当扩展执行未通过终端路由的操作时,例如使用linter或格式化程序时,此设置将不会对模块查找产生影响。 当使用.env文件设置PYTHONPATH时,它将影响扩展名代表您执行的任何操作和调试器执行的操作,但不会影响终端中运行的工具。 如果需要,可以使用这两种方法来设置PYTHONPATH。 何时使用PYTHONPATH的一个示例是,如果您在src文件夹中有源代码,而在test文件夹中有测试。但是,在运行测试时,这些测试通常不能访问src中的模块,除非您硬编码相关路径。 为了解决这个问题,您可以在VS代码工作区中创建一个.env文件,从而将src的路径添加到PYTHONPATH。 PYTHONPATH=src

官方文件

票数 2
EN

Stack Overflow用户

发布于 2022-02-21 03:22:45

首先,在__init__.py文件夹中添加rogers文件。

然后,您需要将项目目录路径添加到sys.path$PYTHONPATH中。然后只有python才能识别包并导入它。这肯定会解决问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71200154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档