在Python中是否可以有一个单独的lib和src目录?
Is it possible to have a separate lib and src directory in Python?
我正在编写一个包含客户端和服务器的程序,我正在尝试以直观的方式组织我的源文件。我有这个粗略的文件结构:
src:
client:
client.py
server:
server.py
lib:
clientlib:
client_depend.py
serverlib:
server_depend.py
commonlib:
both_depend.py
以前,我使用的是 this SO Post 中描述的方法,但是 sys.path.append("../..")
的数量已经失控,如果我移动任何文件,就有损坏的危险。
执行此操作的简洁和 pythonic 方法是什么?我考虑过制作 lib
一个包并将其放入 $(PYTHONDIR)/Lib/site-packages
但这增加了开发的复杂性(因为它是根拥有的目录并且它不在我用于开发的 USB 驱动器上所以我可以轻松更换电脑)。
提前致谢。
为什么不制作可以随时随地轻松导入的模块?
像这样:
src:
__init__.py
client:
__init__.py
client.py
server:
__init__.py
server.py
lib:
__init__.py
clientlib:
__init__.py
client_depend.py
serverlib:
__init__.py
server_depend.py
commonlib:
__init__.py
both_depend.py
那么在 client.py
中,您只需要做:
from lib.commonlib import both_depend
from lib.clientlib import client_depend
我正在编写一个包含客户端和服务器的程序,我正在尝试以直观的方式组织我的源文件。我有这个粗略的文件结构:
src:
client:
client.py
server:
server.py
lib:
clientlib:
client_depend.py
serverlib:
server_depend.py
commonlib:
both_depend.py
以前,我使用的是 this SO Post 中描述的方法,但是 sys.path.append("../..")
的数量已经失控,如果我移动任何文件,就有损坏的危险。
执行此操作的简洁和 pythonic 方法是什么?我考虑过制作 lib
一个包并将其放入 $(PYTHONDIR)/Lib/site-packages
但这增加了开发的复杂性(因为它是根拥有的目录并且它不在我用于开发的 USB 驱动器上所以我可以轻松更换电脑)。
提前致谢。
为什么不制作可以随时随地轻松导入的模块?
像这样:
src:
__init__.py
client:
__init__.py
client.py
server:
__init__.py
server.py
lib:
__init__.py
clientlib:
__init__.py
client_depend.py
serverlib:
__init__.py
server_depend.py
commonlib:
__init__.py
both_depend.py
那么在 client.py
中,您只需要做:
from lib.commonlib import both_depend
from lib.clientlib import client_depend