G'天,
在包装和模块组织方面成为一个完整的python noob ..
给出以下(简化)结构:
.
├── bin
│ └── fos.py
└── lib
└── drac.py
事实上,安装后,lib
文件夹的内容将在/usr/local/share/pyshared
中的bin
以及/usr/bin
文件夹中的某些内容,我如何说服这个整个事情是在VCS模式下从../lib
导入我的模块并按照它应该工作,即安装时from modulename.drac import bla
,同时保持导入优先级相同?
是的,我已经阅读了关于模块组织和结构的python文档,我似乎无法理解一些最佳实践。要求SO上的最佳实践是愚蠢的,因此这个具体的例子,我每天都或多或少。
这种结构是否可以接受,如果是这样,我该如何组织进口?如果没有,重做它的pythonic方法是什么?
谢谢!
答案 0 :(得分:1)
我认为你在这里讨厌成语。您所描述的内容类似于旧的c ld_lib范例。
从自己的本地文件树中获取模块的python项目没有任何问题。或者,如果您的代码实际上是独立的,并且lib
有一个定义良好的API,那么您应该单独打包并使用ez_install
,pip
或{{1}导入/安装它}
一般来说,如果代码似乎在一起发展,最好将它们放在一起。在安装python代码的任何地方安装它(setup.py
等等。)并将可执行文件符号链接到opt