python中操作系统相对路径的差异

时间:2017-04-19 19:51:45

标签: python linux python-sphinx relative-path darwin

我正在尝试使用Sphinx-apidoc通过Makefile自动构建文档,该文件包含以下命令:

sys.path.insert(0, os.path.abspath('../../mymodule/'))

build(make fullhtml)在Darwin上成功但在Linux(Windows 10 Ubuntu)上失败,因为它无法找到mymodule。它似乎取决于这条相对路径,它适用于达尔文:

sys.path.insert(0, os.path.abspath('../../../mymodule/'))

但是要让它在Linux上运行它需要:

sys.path.insert(0, os.path.abspath('../../mymodule/'))

为什么会有区别?是否有适合两者的东西?

注意,下面是一个简化的目录结构:两个文件夹具有相同的名称可能是相关的。

MyModule的/

... | DOC /

........ |生成文件

........ |源/

............ | conf.py

... | MyModule的/

........ |其他模块/

编辑:Platform-independent file paths?似乎没有解决我的问题,因为我正在寻找更高的目录而不是子目录。如果我使用

EVENT
Id
Name
StartDateTime
EndDateTime

命令实际上在Linux python中直接工作正常,可以导入模块。当sphinx使用它时它似乎不起作用。

0 个答案:

没有答案