繁体   English   中英

Visual Studio代码中的Python项目设置

[英]Python project setup in visual studio code

我在Visual Studio代码中有一个python项目设置。 下面是部分代码的样子

...
from .pgcompleter import PGCompleter
from .pgtoolbar import create_toolbar_tokens_func
from .pgstyle import style_factory
from .pgexecute import PGExecute
from .pgbuffer import PGBuffer
from .completion_refresher import CompletionRefresher
from .config import (get_casing_file,
    load_config, config_location, ensure_dir_exists, get_config)
from .key_bindings import pgcli_bindings
from .encodingutils import utf8tounicode
from .encodingutils import text_type
...

pgcompleter等文件仅来自我的项目。

而且,这是我的launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python",
            "type": "python",
            "request": "launch",
            "stopOnEntry": true,
            "pythonPath": "${config:python.pythonPath}",
            "program": "${file}",
            "cwd": "${workspaceFolder}",
            "env": {},
            "envFile": "${workspaceFolder}/.env",
            "debugOptions": [
                "RedirectOutput"
            ]
        }
}

当我尝试调试时,在控制台上出现错误

Traceback (most recent call last):
  File "<absolute_path_to>main.py", line 43, in <module>
    from .pgcompleter import PGCompleter
ValueError: Attempted relative import in non-package

好的,我知道两个解决方法

python -m some_folder_name.main.py

-并改变进口

from pgcompleter import PGCompleter
from pgtoolbar import create_toolbar_tokens_func
from pgstyle import style_factory

我只想知道是否可以在不更改导入的情况下使它工作?

要为包创建入口点,请使用名为__main__.py的文件。 因此,将您的main.py更改为__main__.py然后运行python -m some_folder_name

您需要将__init__.py文件与pgcompleter.py等文件放在同一目录中。 这会将其从常规目录转换为Python包。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM