Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使外部模块成为本地模块_Python_Vim - Fatal编程技术网

Python 如何使外部模块成为本地模块

Python 如何使外部模块成为本地模块,python,vim,Python,Vim,我的代码依赖于模块外部_模块的函数,该模块位于pythonpath路径中,我将其作为 # global import import external_module.sub_mod_one as smo 现在我想分享我的代码,但我不想强迫我的合作者签出我的其他git repo并将它们添加到他们的环境中 因此,我想我可以将文件复制到本地目录,并将导入重写为 # local import import sub_mod_one as smo 但是,由于开发仍在进行,我不想手动执行此操作 问题是有没有

我的代码依赖于模块外部_模块的函数,该模块位于pythonpath路径中,我将其作为

# global import
import external_module.sub_mod_one as smo
现在我想分享我的代码,但我不想强迫我的合作者签出我的其他git repo并将它们添加到他们的环境中

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

# local import
import sub_mod_one as smo
但是,由于开发仍在进行,我不想手动执行此操作


问题是有没有python模块或vim插件或其他东西可以帮我做到这一点?也就是说,将包含的模块复制到当前文件夹并重写导入语句?

您可以使用条件导入:


您可以使用条件导入:


正确的解决办法是

正确包装外部_模块,以便与pip一起安装, 向项目中添加引用包的pip需求文件 然后让每个人都使用VirtualNV
通过这种方式,软件包将被干净地安装在正确的版本上,您不必干扰导出,也不必到处都有软件包的不同步副本。

正确的解决方案是

正确包装外部_模块,以便与pip一起安装, 向项目中添加引用包的pip需求文件 然后让每个人都使用VirtualNV
通过这种方式,软件包将被干净地安装在正确的版本上,您不必干扰导出,也不必到处都有软件包的不同步副本。

您不能使用Git吗?这意味着要将多个Git repo组合在一起。看起来有点乱。你不能用Git吗?这意味着要合并几个Git回购。看起来有点乱。是的,我应该开始做这个。是否有一个教程解释了pip和github是如何一起使用的?这是一个关于如何从git repo安装lib的示例:pip install git+git://github.com/user/project.gitYes,我应该从这个开始。是否有一个教程解释了pip和github是如何一起使用的?这是一个关于如何从git repo安装lib的示例:pip install git+git://github.com/user/project.git
try:
    import external_module.sub_mod_one as smo                  
except ImportError:
    import sub_mod_one as smo