Python动态导入路径

时间:2014-04-15 17:10:50

标签: python python-import

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方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为你在这里讨厌成语。您所描述的内容类似于旧的c ld_lib范例。

从自己的本地文件树中获取模块的python项目没有任何问题。或者,如果您的代码实际上是独立的,并且lib有一个定义良好的API,那么您应该单独打包并使用ez_installpip或{{1}导入/安装它}

一般来说,如果代码似乎在一起发展,最好将它们放在一起。在安装python代码的任何地方安装它(setup.py等等。)并将可执行文件符号链接到opt