从远程相对目录导入模块的最短方法是什么?
我们一直在使用此代码,除了您当前的工作目录必须与此代码的目录相同或相对路径中断(这可能容易出错)之外,该代码还不错并使用户感到困惑。
import sys
sys.path.append('../../../Path/To/Shared/Code')
这段代码(我认为)解决了这个问题,但需要输入更多内容。
import os,sys
sys.path.append(os.path.realpath(os.path.join(os.path.dirname(__file__), '../../../Path/To/Shared/Code')))
是否有更短的方法来附加绝对路径?简洁性很重要,因为这必须输入/出现在我们的许多文件中。 (我们无法将其分解出来,因为那样它就会出现在共享代码中,而我们无法访问它。先有鸡还是先有蛋,引导等)
另外,令我困扰的是,我们一直盲目地附加到 sys.path 中,但这会导致更多的代码。我确实希望标准库中的某些内容可以对此有所帮助。
这通常出现在从命令行运行的脚本文件中。我们正在运行 Python 2.6.2。
编辑: 我们使用相对路径的原因是我们的计算机上通常有多个独立的代码库副本。代码库的每个副本都使用自己的共享代码副本,这一点很重要。因此,任何仅支持单个代码库的解决方案(例如,“将其放入站点包中。”)对我们来说都不起作用。
有什么建议吗?谢谢!
最佳答案
由于您不想将其安装在站点包中,因此应该使用 buildout或virtualenv创建隔离的开发环境。这解决了问题,并且意味着您不必再摆弄 sys.path (事实上,因为 Buildout 正是为您做的)。
关于python - 从远程目录导入 Python 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1572967/