我正在开发一个目前是封闭源代码的python模块,不能继续使用pip(不是我选择的)这个例子我将它称为private_module
。这个模块依赖于我正在开发的另一个模块,我可以将其称为public_module
。这是问题private_module
和public_module
的开发版本在我与同事共享的Windows服务器上的目录中。需要访问代码的计算机具有变量文件权限,因为它们的python含义可变,很难安装任何东西,但同时在他们的site-packages目录中可能会有private_module
和public_module
的延迟版本。还假设所有用户都没有编程经验,即使他们这样做,计算机也无法在没有管理员权限的情况下安装带有pip的软件包。
目录结构可以表示如下:
我已经尝试了以下内容,如果模块尚未安装到pip中,但是在pip中安装的模块看起来更有利于另一个有意义,那么它可以正常工作。
import os
staging = [r"F:\PythonModules\exp"]
for path in staging:
if os.path.isdir(path):
sys.path.append(path)
有没有办法可以将新的公共和私有模块加载到可能位于站点包中的对应模块上?
这有点像一个hacky变通方法,但它应该适用于您的情况 - 您可以在sys.path的开头添加私有模块,因此它将在public pip版本之前读取。像这样的东西:
import sys
sys.path.insert(0,"F:\PythonModules\exp")