python - 从远程目录导入 Python 模块

标签 python

从远程相对目录导入模块的最短方法是什么?

我们一直在使用此代码,除了您当前的工作目录必须与此代码的目录相同或相对路径中断(这可能容易出错)之外,该代码还不错并使用户感到困惑。

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。

编辑: 我们使用相对路径的原因是我们的计算机上通常有多个独立的代码库副本。代码库的每个副本都使用自己的共享代码副本,这一点很重要。因此,任何仅支持单个代码库的解决方案(例如,“将其放入站点包中。”)对我们来说都不起作用。

有什么建议吗?谢谢!

最佳答案

由于您不想将其安装在站点包中,因此应该使用 buildoutvirtualenv创建隔离的开发环境。这解决了问题,并且意味着您不必再摆弄 sys.path (事实上,因为 Buildout 正是为您做的)。

关于python - 从远程目录导入 Python 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1572967/

相关文章:

python - 匹配这些字符串或列表的最佳方式?

python - 在 Selenium 中使用 find_element_by_class_name 遍历多个类

python - 在字符串中调用 python 参数

python - 删除/覆盖导入

python - 如何在 azure ml studio 的 'execute python script' 部分中将外部 pickle 文件内容作为数据帧加载?

Python 3 - 将变量导入字典

python : Which is the best way to find distance between two points based on latitude/longitude using python?

python - 如何将一个数据框中的列添加到另一个数据框中?

python - 合并具有来自两个不同列的匹配值的 DataFrame - Pandas

python - 如何使用每小时的值对 pandas 系列进行重新采样