如何构建我的小python框架



我写了一组简单的python3文件,用于在32位平台上模拟一小组mongodb功能。我启动了PyCharm,并整理了一个目录,如下所示:

minu/
    client.py
    database.py
    collection.py
    test_client.py
    test_database.py
    test_client.py

我的导入很简单。例如,client.py顶部有以下内容:

from collection import Collection
基本上,客户端有一个客户端类,集合有一个

集合类,数据库有一个数据库类。不太强硬。

只要我cd进入minu目录,我就可以启动python3解释器并执行以下操作:

>>> from client import Client
>>> c = Client(pathstring='something')

一切都很好。我也可以运行test_files,它们使用相同的导入类型。

我想将其模块化,因此我可以在另一个项目中使用它,只需将 minu 目录放在我的应用程序的 .py 文件旁边,就可以让一切正常。但是,当我这样做并从另一个目录运行python3时,本地导入不起作用。我在 minu 目录中放置了一个空的 init.py。这样我就可以import minu了.但其他人都破产了。我尝试使用诸如from .collection import Collection之类的东西(添加了点),但是我不能再像以前那样在原始目录中运行内容了。什么是简单/正确的方法?

和谷歌博士一起环顾四周,但没有一个例子真正很好地阐明它,请随时指出我错过的那个

在此文件中...minu/__init__.py导入要在外部公开的子模块。

如果__init__.py文件包含以下行,并且client.py文件具有变量foo

import client
import collection
import database

然后从 minu 目录上方,以下内容将起作用:

from minu.client import foo

最新更新