![](/img/trans.png)
[英]How to setup Visual Studio Code stdin/stdout redirection for Python (debugger)?
[英]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.