通过site-packages中安装的版本导入模块的开发版本

时间:2018-03-06 21:02:10

标签: python python-3.x import pip python-importlib

我开发的python模块目前是封闭源代码而不能继续点(不是我的选择),对于这个例子,我将它称为{{1 }}。这个模块依赖于我正在开发的另一个模块,

可用于点我将它称为private_module。这是问题public_moduleprivate_module的开发版本位于我与同事共享的Windows服务器上的目录中。需要访问代码的计算机具有变量文件权限,因为它们具有可变的python含义,很难安装任何东西,但同时可能会有public_module和{{1}的延迟版本在他们的site-packages目录中。还假设所有用户都没有编程经验,即使他们这样做,计算机也无法在没有管理员权限的情况下安装带有pip的软件包。

目录结构可以表示如下:

  • C:\ Program Files \ Anaconda3 \ lib \ site-packages \ [过时的公共和私人模块]

  • F:\ PythonModules \ exp \ [new public and private modules]

我已经尝试了以下功能,如果模块没有安装到pip中,但是pip中安装的模块看起来有利于另一个有意义的模块,它可以正常工作。

private_module

有没有办法可以将新的公共和私有模块加载到可能位于网站包中的对应模块?

1 个答案:

答案 0 :(得分:2)

这有点像一个hacky变种方法,但它应该适用于你的情况 - 你可以在sys.path的开头添加私有模块,因此它将在public pip版本之前读取。像这样:

import sys
sys.path.insert(0,"F:\PythonModules\exp")