如何使外部模块本地化

时间:2014-09-15 11:48:27

标签: python vim

我的代码依赖于模块external_module中的函数,该模块位于我的pythonpath路径中,并且包含在

# global import
import external_module.sub_mod_one as smo

现在我想分享我的代码,但我不想强迫我的协作者检查我的其他git repos并将它们添加到他们的环境中。

所以,我想我可以将文件复制到本地目录并将导入重写为

# local import
import sub_mod_one as smo

但是,由于开发正在进行,我不想手动执行此操作。

问题是否有python模块或vim插件或其他为我这样做的内容?即,将包含的模块复制到当前文件夹并重写导入语句?

2 个答案:

答案 0 :(得分:3)

“正确”的解决方案是

  1. 正确打包“external_module”,以便可以使用pip
  2. 进行安装
  3. 向您的项目添加引用您的包的pip要求文件
  4. 然后让每个人都使用virtualenvs
  5. 通过这种方式,软件包将被干净地安装(并且版本正确),您不必弄乱您的导出,并且您的软件包在任何地方都没有不同步的副本。

答案 1 :(得分:1)

您可以使用条件导入:

try:
    import external_module.sub_mod_one as smo                  
except ImportError:
    import sub_mod_one as smo