【问题标题】:Can you import a Python module from a Windows symbolic link?您可以从 Windows 符号链接导入 Python 模块吗?
【发布时间】:2023-04-03 02:44:02
【问题描述】:

我正在使用 Windows 7 计算机为 Python 3 项目做出贡献。

为了在进行和测试更改时尽量减少混乱,我将一些测试文件放在项目中名为 ignore 的文件夹中,并将其从版本控制系统 (Git) 中排除。

项目的根目录中没有__init__.py 文件,所以我想我应该从要测试的模块到ignore 文件夹中创建一个符号链接,以便我能够导入它。

mklink ignore\example.py example.py

当我尝试从 ignore 中的脚本导入模块时,我得到一个 ImportErrorexample 模块不存在。

是否可以通过这种方式通过符号链接导入模块?我知道这是 supposed to work,但我找不到说明它适用于 Windows 的参考资料。

【问题讨论】:

  • 目标应该是相对于链接的,例如mklink ignore\example.py ..\example.py.
  • 嗯,好了。我一直认为mklink 采用相对于当前目录的路径。感谢您清除它。

标签: python windows python-3.x python-import symlink


【解决方案1】:

我刚刚花了 +2 小时试图解决这个问题,并且 事实证明,创建 Windows 目录连接对我有用。

您不需要使用相对的,它适用于两者。

所以首先在您的 igonore 文件夹中创建一个空文件 __init__.py 然后在提升模式下(以管理员身份)创建一个链接:

mklink /J 忽略你的忽略模块的路径

然后在您的 Python 代码中,您将能够执行: from ignore.something import some-other-thing

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    • 2012-04-18
    • 2023-03-26
    • 2015-08-16
    • 2016-07-30
    相关资源
    最近更新 更多