无法使用符号lin“相对导入”本地Python库

2024-05-14 23:01:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我的项目有两个主文件夹:sourceCodelibHighlighted file tree here

我在\sourceCode\mainFile.ipynb工作,想导入一个驻留在lib中名为modifiedLibrary的库,它有一个__init__.py文件。你知道吗

目前,我正在使用relative-importing库的符号链接。符号链接位于\sourceCode中,名为sym_link,内容如下:

../lib/modifiedLibrary/modifiedLibrary

与strong symbol库中的项目具有相同的名称。

但是当我在python中使用

import modifiedLibrary

我收到ModuleNotFoundError: No module named 'modifiedLibrary'

我知道,同样的代码在另一个设备上运行,我现在没有访问,我似乎没有找到问题是什么。你知道吗

我通过以下方式成功地包含了所需的库:

  1. 将工作目录临时更改为库的__init__.py所在的位置
  2. 导入库
  3. 然后恢复到我原来的目录

但我想知道目前的象征性联系有什么问题。你知道吗

Windows 10/Python 3.7.3/Jupyter

Relevant Question: Interactive Python - solutions for relative imports


Tags: 项目py目录文件夹treehereinit链接
1条回答
网友
1楼 · 发布于 2024-05-14 23:01:41

我发现的另一个解决方案不是临时更改工作目录以包含本地模块,而是在导入模块之前将该模块在我设备上的位置添加到sys.path

import sys
sys.path.append('C:/Users/user/myProject/../modifiedLibrary/')

import modifiedLibrary

它没有使用符号链接,但它似乎做的把戏现在。当代码在另一个设备上共享和运行时会出现问题。你知道吗

相关问题 更多 >

    热门问题