gpt4 book ai didi

python - 如何从 sublime 插件中的另一个目录导入类

转载 作者:行者123 更新时间:2023-11-28 21:45:00 25 4
gpt4 key购买 nike

我想要一个像这样的目录结构:

myplugin
-lib
-myplugin.py
-file.py
-another.py
-tests
-file_tests.py
-another_tests.py

如果它在子目录中,我无法让 sublime 识别我的插件。没关系,我可以将入口点保留在根目录中并导入我的其他类;但是,我也无法做到这一点。我已经编写了代码并运行了我的测试,比如 nosetest tests/ 并且一切都通过了 - 当 sublime 尝试加载我得到的包时:ImportError: No module named 'lib'。我是 sublime 插件开发和 Python 的新手,但基本上,我的插件是这样的:

import sublime
import sublime_plugin
from lib.something import Something
from lib.something_else import SomethingElse
from lib.something_else_else import SomethingElseElse

class MyPluginCommand(sublime_plugin.TextCommand):

最佳答案

您走在正确的轨道上;如您所见,Sublime 仅扫描并自动将文件加载到 Packages 文件夹深处的单个目录中。

您的问题是您要导入的模块名称需要用存储它的包的名称来限定。根据您在上面给出的代码,以下是可行的,假设插件lib 目录存放在名为myplugin:

import sublime
import sublime_plugin
from myplugin.lib.something import Something
from myplugin.lib.something_else import SomethingElse
from myplugin.lib.something_else_else import SomethingElseElse

class MyPluginCommand(sublime_plugin.TextCommand):

关于python - 如何从 sublime 插件中的另一个目录导入类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40198098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com