我在一个python项目中工作,我正在开发一个自定义库(mylib)并使用vscode。你知道吗
/
└── mylib
└── __init__.py
├── ...
如果我的程序分裂_示例.py位于根目录下,如下所示,我可以导入并使用mylib。你知道吗
/
└── mylib
└── __init__.py
├── ...
└── split_example.py
我想创建一个名为examples的文件夹并使用mylib,但在文件夹examples中,我无法导入和使用mylib。你知道吗
/
└── mylib
└── __init__.py
├── ...
└── examples
└── split_example.py
获取以下错误:
Traceback (most recent call last):
File "/home/kleysonr/.vscode/extensions/ms-python.python-2019.11.50794/pythonFiles/ptvsd_launcher.py", line 43, in <module>
main(ptvsdArgs)
File "/home/kleysonr/.vscode/extensions/ms-python.python-2019.11.50794/pythonFiles/lib/python/old_ptvsd/ptvsd/__main__.py", line 432, in main
run()
File "/home/kleysonr/.vscode/extensions/ms-python.python-2019.11.50794/pythonFiles/lib/python/old_ptvsd/ptvsd/__main__.py", line 316, in run_file
runpy.run_path(target, run_name='__main__')
File "/usr/lib/python3.6/runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
File "/usr/lib/python3.6/runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/data/dev/python/myproject/examples/split_example.py", line 3, in <module>
from mylib.dataset import split
ModuleNotFoundError: No module named 'mylib'
我应该怎么做才能让文件夹examples中的任何程序能够from mylib.dataset import split
?你知道吗
问题是,由于您是通过
python examples/split_example.py
执行代码,Python将examples/
作为当前的工作目录,因此您的mylib
目录对Python不可见。您可能更愿意做的是python -m examples.split_example
,因为这将使当前工作目录成为项目根目录,从而使mylib
对Python可见。你知道吗这也需要将
__init__.py
添加到examples
。你知道吗基于@fabioconcina的评论,我找到了这个解决方案。你知道吗
只需在文件顶部包含以下内容:
相关问题 更多 >
编程相关推荐